为什么小弟我写的这个代码是错的
为什么我写的这个代码是错的
a = '\'
print "%r" % a
%r不是可以按原样打印出字符串吗,可是这个代码运行时却显示语法错误
而且我把%r改成%s也是错的.
在python中运行结果如下
>>> a = '\'
File "<stdin>", line 1
a = '\'
^
SyntaxError: EOL while scanning string literal
>>>
------解决思路----------------------
\ 是字符串转义符,其后的字符会被转义
如LZ所写的 \'会被认为是转义后的 ' 字符
我觉得不要问为什么,先熟悉下字符串相关的语法吧,这是属于语法约定的东西
想要表示\ 这个字符,必须写作'\\'
------解决思路----------------------
'\'被转义了
a = '\'
print "%r" % a
%r不是可以按原样打印出字符串吗,可是这个代码运行时却显示语法错误
而且我把%r改成%s也是错的.
在python中运行结果如下
>>> a = '\'
File "<stdin>", line 1
a = '\'
^
SyntaxError: EOL while scanning string literal
>>>
------解决思路----------------------
\ 是字符串转义符,其后的字符会被转义
如LZ所写的 \'会被认为是转义后的 ' 字符
#第2个引号在\之后会被转义
>>> print '\''
'
#第2个引号在\之后会被转义,导致字符串缺少右边引号
>>> print '\'
SyntaxError: EOL while scanning string literal
我觉得不要问为什么,先熟悉下字符串相关的语法吧,这是属于语法约定的东西
想要表示\ 这个字符,必须写作'\\'
>>> print '\\'
\
------解决思路----------------------
'\'被转义了