一、字符串的下标

在字符串中有索引,从头到尾从索引0开始,从尾到头从-1开始。
例如:

  1. #!/usr/bin/env
  2. #字符串
  3. a = "xiaoxiaoru"
  4. #输出第三个字符
  5. print(a[2])
  6. #输出倒数第三个字符
  7. print(a[-3])

二、字符串切片

可以从字符串中截取部分字符串来使用。
字符串的截取的语法格式如下:

  1. 变量[头下标:尾下标]

例如:

  1. #!/usr/bin/env
  2. str = 'xiaoxiaoru'
  3. print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
  4. print(str[0]) # 输出字符串第一个字符
  5. print(str[2:5]) # 输出从第三个开始到第5个的字符
  6. print(str[2:]) # 输出从第三个开始之后的所有字符
  7. print(str * 2) # 输出字符串两次

三、in、not int运算符

in:成员运算符 - 如果字符串中包含给定的字符返回 True

  1. #!/usr/bin/env
  2. str = 'xiaoxiaoru'
  3. j = "i"
  4. if j in str:
  5. print('字符串里面包含字符i')
  6. else:
  7. print('字符串里面不包含字符i')

not in:成员运算符 - 如果字符串中不包含给定的字符返回 True

  1. #!/usr/bin/env
  2. str = 'xiaoxiaoru'
  3. j = "h"
  4. if j in str:
  5. print('字符串里面包含字符h')
  6. else:
  7. print('字符串里面不包含字符h')

四、u、b、r字符串前缀

首先注意:Python中的 字符串前缀修饰都是不区分大小写的,也就是说u 等同于 U

r作用:声明后面的字符串是普通字符串,相对的,特殊字符串中含有:转义字符 \n\t 什么什么的。

  1. #!/usr/bin/env
  2. # 自动转义特殊字符串,r不区分大小写
  3. print(r'\n我的天\t')
  4. # 没有被转义的时候
  5. print('\n我的天\t')

u作用:声明字符串的存储编码。
在Python中字符串默认创建即以Unicode编码存储,可以存储中文。
使用u前缀就是声明该字符串使用Unicode编码存储。
如下:
string = 'a' 等效于 string = u'a'
注意:Unicode中通常每个字符由2个字节表示。

b作用:声明字符串的存储编码。
使用b前缀就是声明该字符串使用Ascll编码存储,不可以存储中文。
如下代码将会报错:

  1. #!/usr/bin/env
  2. # 使用Ascll存储编码,无法存储中文
  3. str = b'阿萨德'
  4. print(str)

注意:Ascll中通常每个字符由1个字节表示。

五、字符串格式化符号

符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址

详细的使用教程可以参考菜鸟教程:http://www.runoob.com/python3/python3-string.html

六、字符串的逆序

在Python中截取字符串还可以使用步长。
语法:

  1. 变量[头下标:尾下标:步长]

例如:

  1. #!/usr/bin/env
  2. str = 'xiaoxiaoru'
  3. # 读取0、8、3位字符串
  4. print(str[0:8:3])

字符串逆序:

  1. #!/usr/bin/env
  2. str = 'xiaoxiaoru'
  3. # 字符串翻转读取
  4. print(str[-1::-1])

也可以简写为:

  1. #!/usr/bin/env
  2. str = 'xiaoxiaoru'
  3. # 字符串翻转读取
  4. print(str[::-1])