Python中的字符串
原创
©著作权归作者所有:来自51CTO博客作者愤怒的可乐的原创作品,请联系作者获取转载授权,否则将追究法律责任
字符串表示,str和repr
str函数
会把值转换为易于用户理解的字符串:
>>>print str("Hello,world!")
Hello,world!
>>>print str(1000L)
1000这里长整数1000L被转换为数字1000
repr函数
以合法的Python表达式的形式来表示:
>>>print repr("Hello,world!")
'Hello,world!'
>>>print repr(1000L)
1000L这里的字符串会以引号括起来的形式打印
input和raw_input
>>> name = input("What is your name?")
What is your name?jack
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'jack' is not definedinput会假设用户输入的是合法的python表达式
而raw_input可以将输入当做原始数据,然后放入字符串中:
>>> name = raw_input("What is your name?")
What is your name?jack
>>> print name但是,raw_input只是适于处理字符串的场景,因为不管输入什么,它都会返回一个字符串。
比如想输入数字进行计算,此时就应该使用input
Enter a number:3
3
>>> raw_input("Enter a number:")
Enter a number:5
'5'
长字符串、原始字符串和Unicode
长字符串
>>> print "This is a very long string
File "<stdin>", line 1
print "This is a very long string
^
SyntaxError: EOL while scanning string literal
>>> print ''' This is a very long string.
... It continues here.'''
This is a very long string.
It continues here.
可以使用三个单引号或者三个双引号,如”“”Like this”“”。来输入跨行的字符串。
第一行语句,尝试使用一个双引号进行跨行,会报错!
原始字符串
原始字符串对于反斜线并不会特殊对待。
>>> print r"C:\nowhere"
C:\nowhere
>>> print "C:\nowhere"
Unicode字符串
python3.0中,所有的字符串都是Unicode字符串