Python:字符串单引号(')、双引号(")、三单引号(''')和三双引号(""")的区别
实际上在Python中'...'
和"..."
是完全一样的,但不能出现'..."
和"...'
这种情况。
而将其混合使用会有很多意想不到的效果:
具体规则如下:
- 若字符串没有引号嵌套,则对可打印转义字符(
\\
,\'
,\"
,\ooo
,\xhh
)进行转义。 - 若字符串有引号嵌套,则对嵌套内部字符全部不进行转义,保持原始格式;对嵌套外部字符参照1进行转义。
注意print
会对所有转义字符进行转义。
下面是几个有代表性的例子:
>>> 'spam eggs'
'spam eggs'
>>> 'doesn\'t' # 对可打印字符转义
"doesn't"
>>> "doesn\'t" # 同上
"doesn't"
>>> "doesn't" # 这样可以省去\
"doesn't"
>>> '"doesn\'t"' # 嵌套后内部全部不进行转义
'"doesn\'t"'
>>> "\"Yes,\" he said." # 同类型引号,需要进行转义
'"Yes," he said.'
>>> '"Yes," he said.' # 这样可以省去\
'"Yes," he said.'
>>> '"Isn\'t," she said.' # 嵌套后内部全部不进行转义
'"Isn\'t," she said.'
>>> print '"Isn\'t," she said.' # print对所有转义字符进行转义
"Isn't," she said.
>>> s='First line.\nSecond line.'
>>> s # 对不可打印字符不进行转义
'First line.\nSecond line.'
>>> print s # print对所有转义字符进行转义
First line.
Second line.
一般而言不经常使用三引号'''...'''及"""..."""
但三引号有一个特殊的性质:会自动在每一行末尾加上换行标志,这样输入和输出的字符串就会是同样的样式:
>>> a='''\ #这里的\是转行标志
p
y
t
h
o
n
'''
>>> a #字符串的实际内容
'\tp\n\ty\n\tt\n\th\n\to\n\tn\n'
>>> print a #print结果同输入一样
p
y
t
h
o
n
请问你的这个有行号和绿竖线是怎么实现的?我用typecho,使用三个反引号和python将一个python代码段包围起来就没有这效果,只有个灰色背景的块,没行号,没绿线。
是用插件实现的呢
插件名字是:Syntax Highlighter for Typecho
github地址:https://github.com/tinpont/SyntaxHighlighter-For-Typecho
多谢多谢!google了半天都没个结果,只好麻烦你从你这里了解。