1,python中字符串可用单引号和双引号表示,如:
"hello"
'hello'
两者本身没区别。
但是当字符串中出现单引号或者双引号时再单纯这样表示就不行了,如
>>> 'Let's go!'
SyntaxError: invalid syntax
>>> ""I love you!",Lucy said"
SyntaxError: invalid syntax
会报错。
解决方法:
(1).使用反斜杠\ 转义字符
(2).当字符串需要出现单引号时用双引号“”表示字符串,当字符串需要出现双引号时,用单引号表示字符串.示例如下:
>> "Let's go!"
"Let's go!"
>>> 'Let\'s go!'
"Let's go!"
>>> "Let's go!"
"Let's go!"
>>> "\"I love you!\",Lucy said"
'"I love you!",Lucy said'
>>> '"I love you!",Lucy said'
'"I love you!",Lucy said'
2.原始字符串
反斜杠可以对自己进行转义,但是有时字符串中出现的反斜杠较多,可以用 原始字符串,即在字符串前加字母'r'
>>> str=r'C:\Windows\donglei\study\python'
>>> str
'C:\\Windows\\donglei\\study\\python'
>>> print(str)
C:\Windows\donglei\study\python
可以看出原始字符串自动为反斜杠转义,但是字符串的末尾有反斜杠‘'\'则不行,如C:\Windows\donglei\study\python\
str=r'C:\Windows\donglei\study\python\'
SyntaxError: EOL while scanning string literal
非要在末尾加反斜杠有三种方法
<1>r'C:\Windows\donglei\study\python\\'[:-1] <2>r'C:\Windows\donglei\study\python'+'\\' <3>'C:\\Windows\\donglei\\study\\python\\'
3.长字符串
如果需要得到跨越多行的字符串,则需要用到长字符串(三重引号来表示字符串)
str="""I am donglei
who are you?
I am Lucy
"""
>>> print(str)
I am donglei
who are you?
I am Lucy
>>> str
'I am donglei\nwho are you?\nI am Lucy\n'