05python字符串

这一篇文章主要介绍python字符串相关知识。

单引号字符串及对单引号的转义

字符串(String)就是一段文本,几乎在所有的Python程序中都有字符串的身影。

字符串可以用单引号表示,也可以用双引号表示,但是输出一般为单引号:

>>> "Hello World!" 
"Hello World!"
>>>
>>> "Hello World!" 
"Hello World!"
>>>

如果字符串中有单引号,我们就需要用双引号表示字符串;同样如果字符串中有双引号,我们就需要用单引号表示字符串。否则,会报错

>>> "Let"s go!"
"Let"s go!"
>>>
>>> ""Hello, world!" she said" 
""Hello, world!" she said"
>>>
>>> "Let"s go!" 
  File "<stdin>", line 1
    "Let"s go!"
         ^
SyntaxError: invalid syntax
>>>
>>> ""Hello, world!" she said" 
  File "<stdin>", line 1
    ""Hello, world!" she said"
      ^^^^^
SyntaxError: invalid syntax
>>>

可以通过转义符的使用表示字符串里面的引号:

>>> 
>>> ""Hello, world!" she said" 
""Hello, world!" she said"
>>> "Let"s go!"             
"Let"s go!"
>>>
  • 这样对引号转义很有作用,且在有些情况下必须这样做,例如字符串同时包含单引号和双引号时

字符串拼接

>>> 
>>> "Let"s say " ""Hello , world!""
"Let"s say "Hello , world!""
>>>
>>> x = "Hello, "
>>> y = "world!"
>>> x y
  File "<stdin>", line 1
    x y
      ^
SyntaxError: invalid syntax
>>>
>>> x + y
"Hello, world!"
>>>
  • 同时依次输入两个字符串,Python会自动将他们拼接起来,这是一种输入字符串的特殊方式,而非通用的字符串拼接方法
  • 正确的拼接字符串的方法是借助于+,将字符串拼接起来

字符串的str和repr

>>> 
>>> "Hello, world!"
"Hello, world!"
>>> print("Hello, world!")
Hello, world!
>>>
>>> "Hello, 
world!"  
"Hello, 
world!"
>>> print("Hello, 
world!") 
Hello, 
world!
>>>
>>> print(repr("Hello, 
world!")) 
"Hello, 
world!"
>>> print(str("Hello, 
world!"))  
Hello, 
world!
>>>
  • Python打印会尽量保留在代码中的样子
  • print打印的结果是希望用户看到的样子
  • print+repr函数的效果就是python打印效果
  • print+str类就是打印出字符串的用户效果

长字符串

要表示很长的字符串(跨越多行的字符串),可以使用三引号(而不是普通的引号):

>>> 
>>> print("""This is a very long string. It continues here.
...       And it"s not over yet. "Hello, world!"
...       Still here.""")
This is a very long string. It continues here.
      And it"s not over yet. "Hello, world!"
      Still here.
>>> 
>>> 1 + 2 +    
... 4 + 5   
12
>>>
>>> print  
... ("Hello, world!") 
Hello, world!
>>>
  • 也可以使用三个双引号表示长字符串
  • 注意:长字符串本身包含单引号或双引号无需使用反斜杠转义。因为三引号让解释器能够识别表示字符串的开始和结束位置,不冲突。区别于引号表示的字符串。
  • 常规字符串也可以 横跨多行,只要在行尾加上反斜杠,反斜杠和换行符将被转义,即被忽略

原始字符串

原始字符串不以特殊方式处理反斜杠,因此在有些情况下很有用,例如正则表达式中。

因为反斜杠对字符进行转义,可以表达字符串中原本无法包含的字符,但是如果字符中本身就有反斜杠或包含反斜杠的组合,就会出问题。这个时候有两种方案:

  • 用反斜杠转义反斜杠
  • 用原始字符串表示——在字符串前面用r表示

例如我们想要表达文件路径:

>>> 
>>> print("C:Program Filesfnordfooaz")   
C:Program Files
                nord
                    oaz
>>>
>>> print("C:\Program Files\fnord\foo\baz")
C:Program Filesfnordfooaz
>>>
>>> print(r"C:Program Filesfnordfooaz")  
C:Program Filesfnordfooaz
>>>
>>> print(r"Let"s go!")
Let"s go!
>>>   
>>> print(r"C:Program Filesfnordfooaz" "\" ) 
C:Program Filesfnordfooaz
>>> 
  • 原始字符串不能以单个反斜杠结尾,因为python无法判断其是否结束。如果要表示这种字符串可以拼接一个反斜杠转义的斜杠。
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 05python字符串