Python中单引号和双引号

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SharonLu1216/article/details/76772640

Python中可以用单引号(' ')或者双引号(" ")表示字符串,如

print "Hello World!"
print 'Hello World!'

输出结果是一样的,如下



如果字符串中含有带引号的字符串呢?用另外一种引号即可。如

print "I'd much rather you 'not'."
print 'I "said" do not touch this.'

输出结果如下:



需要注意的是,如果字符串中含有带双引号的字符串,那么整个字符串不应该再用双引号来表示,而应该选择用单引号。


这是因为,对于一个左引号而言,将会寻找其右侧最近的右引号作为匹配,所以如果用双引号表示的字符串中再套用双引号表示的字符串,将产生不符合我们预期的结果。


当然,如果实在需要在双引号表示的字符串中使用双引号,可以用对双引号进行转义,即 \".


除了直接输出字符串常量,还可以输出包含变量内容的字符串,只需要使用“格式化字符串”。如果要在格式化字符串中输出字符串型的变量,可以使用两种格式化字符,%s 和 %r。两者的差别在于,前者只会输出字符串变量本身的值,而忽略用于表示的引号;而后者会连引号一起输出。例如,

x = "taller"
y = 'shorter'

print "The %s boy is smarter." % x
print "The %r boy is smarter." % x

print 'The %s boy is smarter.' % x
print 'The %r boy is smarter.' % x

print "The %s girl is fatter." % y
print "The %r girl is fatter." % y

print 'The %s girl is fatter.' % y
print 'The %r girl is fatter.' % y


输出结果为:



由此可见,


1. 不管格式化字符串是用单引号还是双引号表示的,里面的字符串变量既可以是单引号表示的,也可以是双引号表示的。


2. 用格式化字符 %s 来打印字符串变量,只会打印字符串本身的内容,不会打印引号。


3. 用格式化字符 %r 来打印字符串变量,会打印引号。它的含义是“不管什么都打印出来”(出自《笨方法学Python》)。


4. 用 %r 打印字符串变量时,不管原来的字符串变量是用的单引号还是双引号表示,打印出来的都是单引号。



猜你喜欢

转载自blog.csdn.net/SharonLu1216/article/details/76772640