Python的字符串基本知识

在学习Python的过程中,很多字符串操作还不是很熟悉,我将在下面做以总结。

  • 使用双引号“”或‘’单引号包住,使用\作为转义字符,如果最外部的引号包围的字符串之间没有同样的引号,则内部的引号不用转义。
    In [3]: 'doesn\'t' #当引号中间有同一个引号时,要加转义字符
    Out[3]: "doesn't" 

    In [4]: "doesn't" #当引号中间是另外一个引号时,不用管。
    Out[4]: "doesn't"
  • 可以使用r来让print打印完整的字符串,不会理会转义字符。
In [5]:print('C:\some\name')  # here \n means newline!
Out[5]:C:\some
ame
In [6]:print(r'C:\some\name')  # note the r before the quote
Out[6]:C:\some\name
  • 字符串可以使用+来串起来,使用numberstring来进行重复,两个字符串之间不能进行可以+;同时,两个被引号包围着的字符串可以直接连接起来,不通过+号。
In [9]: 'Py''thon'
Out[9]: 'Python'
.
In [10]: 'Py'+"thon"
Out[10]: 'Python'
In [13]: s
Out[13]: 'Py'
.
In [14]: s+'thon'
Out[14]: 'Python'
In [15]:s'thon'
  File "", line 1
    s'thon'
          ^
SyntaxError: invalid syntax
  • 使用三个引号将字符串块包括起来,整块字符串将不会改变结构。
In [8]: print("""\
   ...: Usage: thingy [OPTIONS]^M
   ...:      -h                        Display this usage message^M
   ...:      -H hostname               Hostname to connect to^M
   ...: """)
   ...:
Usage: thingy [OPTIONS]
     -h                        Display this usage message
     -H hostname               Hostname to connect to
  • 字符串可以被索引。
    从0开始从左到右索引,如果使用-1开始的负数,将会从右边开始索引。
  • 除了索引,字符串也可以被切片[A:B]来产生一个新的子串,A总被包含,B总被排除在外。
In [22]: s='python'
...
In [23]: s[:2]
Out[23]: 'py'
...
In [24]: s[2:]
Out[24]: 'thon'
  • 字符串切片这里还有下边这个操作,我也不知道该怎么命名。使用[a:b:c]的格式将字符串a->b段中的字符提取间隔为c-1的字符作为子串。
In [28]: s
Out[28]: 'abcdefghijkl'
...
In [29]: s[::2]
Out[29]: 'acegik'
...
In [30]: s[::1]
Out[30]: 'abcdefghijkl'
...
In [32]: s[::-1]
Out[32]: 'lkjihgfedcba' #使用-1将字符串倒序。
  • 字符串不可变,只能新创建一个字符串。
  • 可以使用len()来得到字符串的长度。

你可能感兴趣的:(Python的字符串基本知识)