1. 简介

Python 字符串类型用于存储字符串变量,字符串一般使用单引号 或者双引号 来表示。如:

s1 = 'hello, world'
s2 = "hello, world"
s3 = '''hello, world'''
s4 = """hello, world"""
print(s1)  # 4种方式等效, 多行字符串会用到三引号的情况
print(s2)
print(s3)
print(s4)
  • 注意, 单引号字符串中只能使用双引号作为引号, 而不能使用单引号, 否则python会将第二个单引号当成字符串的结束, 从而报错, 反之亦然。
  • 如果一定要用, 则需使用转义字符 \


2. 字符串变量的运算



符号

作用

举例

+

字符串拼接

x="ABC"+'DEF;y="123";z=x+y

+=

复合赋值, y += “a” 相当于 y = y + “a”

z += "asdfg"

*

生成重复的字符串

z = z * 3

*=

复合赋值, y*=2 相当于y = y * 2

z *= 3


3. 字符串变量的比较



字符串比较, 比较的是ASCII码
简单举例如下:

In [12]: "A" == 'A'                                                             
Out[12]: True

In [13]: 'A' < 'B'                                                              
Out[13]: True

In [14]: "ABC" > "ABB"  # 从左往右,分别比较,直到第一个不相同的,完成比较      
Out[14]: True

In [16]: "ADC" < "ABC"                                                          
Out[16]: False

In [17]: "AD" > "ABC"                                                           
Out[17]: True

In [19]: "AB" > "ABC"  # 空值的ASCII码最小                                      
Out[19]: False

In [20]: "ABCD" != "DCBA"                                                       
Out[20]: True



4. 字符串的索引和切片



  • 索引
  1. 定义: 简单地说就是对字符串的单个元素进行取值。
  2. 语法: 字符串[整数表达式]
  3. 说明:
  • Python序列都可以用索引(Index)来访问序列中的对象
  • Python序列正向的索引从0开始,第二个索引为1,最后一个索引为len(s)-1
  • 索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)
  1. 举例
In [25]: s = "So beatiful a girl."                                              

In [26]: s[0]                                                                   
Out[26]: 'S'

In [27]: s[-1]                                                                  
Out[27]: '.'



  • 切片
  1. 定义: 简单地说就是对字符串的多个元素进行取值。
  2. 语法:
    字符串[(开始索引b):(结束索引e)(:(步长s))][整数表达式] 注意: 小括号内的可以省略
  3. 说明:
  • 开始索引是切片开始切下的位置,0代表第一个元素,-1代表最后一个元素
  • 结束索引是切片的终止索引(但不包含终止索引)
  • 步长是切片每次获取完当前索引后移动的方向(±)和偏移量(数值)
    1)没有步长,相当于取值完成后向后移动一个索引的位置(默认为1)
    2)当步长为正整数时,取正向切片:
    步长默认值为1,开始索引默认值为0,结束索引的默认值为len(s)
    3)当步长为负整数时,取反向切片:
    反向切片时,默认的起始位置为最后一个元素,默认终止位置为第一个元素的前一个位置
  1. 举例
In [31]: s                                                                      
Out[31]: 'So beatiful a girl.'

In [32]: s[:]                                                                   
Out[32]: 'So beatiful a girl.'

In [33]: s[:2]                                                                  
Out[33]: 'So'

In [34]: s[-2:-4]                                                               
Out[34]: ''

In [35]: s[-2:-4:-1]                                                            
Out[35]: 'lr'

In [36]: s[-5:-1]                                                               
Out[36]: 'girl'

In [37]: s[-1:-5]                                                               
Out[37]: ''

In [38]: s[-1:-5:-1]                                                            
Out[38]: '.lri'

In [39]: s[-2:-6:-1]                                                            
Out[39]: 'lrig'

5. 与字符串相关的一些方法



方法

功能

len(s)

返回序列的长度

max(s)

返回序列的最大值元素, 字符串比较ASCII码

min(s)

返回序列的最小值元素

str(x )

字符串的创建函数, 将对象 x 转换为字符串

repr(x )

将对象 x 转换为表达式字符串

eval(str )

用来计算在字符串中的有效Python表达式,并返回一个对象

chr(x )

将一个整数转换为一个字符

unichr(x )

将一个整数转换为Unicode字符

ord(x )

将一个字符转换为它的整数值

hex(x )

将一个整数转换为一个十六进制字符串

oct(x )

将一个整数转换为一个八进制字符串


6. 字符串常用方法



查看方法:

In [50]: s = "hello"                                                                                                                          

In [51]: dir(s)

常用方法

用途

S.split(sep=None, maxsplit=-1)

用于字符串分割

S.strip([chars])

去掉字符串两边空格

S.join(iterable)

组合序列中的字符串

S.lower()

字符串转为小写字母

S.index(sub[, start[, end]])

查找字符的索引

S.replace(old, new[, count])

替换字符串中的元素