Python中单引号和双引号

xiaoxiao2021-02-28  81

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 打印字符串变量时,不管原来的字符串变量是用的单引号还是双引号表示,打印出来的都是单引号。

转载请注明原文地址: https://www.6miu.com/read-50663.html

最新回复(0)