在Python中经常涉及到对字符串的操作,下面对一些常见的字符串操作做一个小结。
一、单引号和双号输出字符串时没有区别
print "Hello,World"
print 'Hello,World'
输出结果:
===========C:/Users/Mr_Deng/Desktop/Test_.py==========
Hello,World
Hello,World
>>>
二、注意转义字符
print 'What's your name'
Error:There is an error in your program invalid syntax
解决的办法是使用转义字符,如下:
print 'What\'s your name'
输出结果:
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
What's your name
>>>
还有一种办法是使用双号将要输出的内容括起来:
print "What's your name"
输出结果:
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
What's your name
>>>
对于输出内容仅含有单引号的字符串,在使用双号输出时,Python解释器会认为字符串中的单引号为输出内容的一部分,而不是字符串的结束标记。但是,遗憾的是,若输出内容中也含有双号,这个时候仍旧需要用转义字符对其中的双号进行转义。
print "\"Hello\" Python"
输出结果:
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
"Hello" Python
>>>
三、字符串拼接输出
x="Hello"
y="Python"
print x,y
print x+' '+y
输出结果:
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
Hello Python
Hello Python
>>>
四、字符串表示str和repr
在Python中,str函数可以将Python值转换为合理的字符串形式,而repr函数会创建一个字符串,以合法的Python表达式的形式来表示值。
print repr("Hello,World")
print repr(1000L)
print str("Hello,Python")
print str(2000L)
输出结果:
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
'Hello,World'
1000L
Hello,Python
2000
>>>
其中,repr函数也可以通过“(反引号,非单引号)实现:
x = 520
print "The result is " + `x`
print "The result is " + repr(x)
print "The result is " + str(x)
输出结果:
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
The result is 520
The result is 520
The result is 520
>>>
五、input和raw_input比较
在Python中有时需要用户手动输入变量值,例如:
name = input('Enter your name:')
print "Welcome to back, "+name
但是,这种方式需要输入变量值得时候添加引号,否则就会报错:
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
Enter your name:kenan
Traceback (most recent call last):
File "C:/Users/Mr_Deng/Desktop/Test_.py", line 1, in <module>
name = input('Enter your name:')
File "<string>", line 1, in <module>
NameError: name 'kenan' is not defined
>>>
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
Enter your name:'kenan'
Welcome to back, kenan
>>>
除了input函数外还有raw_input函数,该函数可以将所有的输入都当做原始的输入数据,并将其放入字符串中:
name = raw_input('Enter your name:')
print "Welcome to back, "+name
测试如下:
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
Enter your name:Mr.Deng
Welcome to back, Mr.Deng
>>>
===========C:/Users/Mr_Deng/Desktop/Test_.py===========
Enter your name:'Mr.Deng'
Welcome to back, 'Mr.Deng'
>>>