1、字符串的常用方式
(1)字符串的表达方式
- python里,可以使用一对单引号,一对双引号,或者一对三个单引号,一对三个双引号
-
a = 'hello world' b = "hello world" c = """hello world""" d = '''hello world''' print(a,b,c,d) m = 'xiaoming said : "hello" ' n = """ xiaoming : "hello" """ # 错误用法:不要相同引号嵌套 # w = " xiaoming : "hello" " # 一定要使用嵌套的话,可以使用转移字符 x = ' xiaoming : \' hello \' '
-
(2)字符串的下标和切片
- 下标
- 字符串的下标又称之为索引,表示第几个数据
- 字符串:由一个一个的字符,串在一起
- 可迭代对象
- 其中 字符串 str 、列表 list 、元组 tuple 可以通过下标来获取或者操作数据
- 字符串 str 、列表 list 、元组 tuple 、 字典 dict 、set 、range 都可以遍历
- 在计算机里,下标都是从0开始的
-
注意:对于字符串的任何操作,都不会改变原有的字符串word = 'zhangsan' print(word[4]) # word[4] = 'x' # 报错 # 原因:字符串是不可变的数据类型
- 可以通过下标来获取或者修改指定位置的数据
- 切片
- 就是从字符串里复制一段指定的内容,生成一个新的字符串
- 语法: m[start : end : step]
- 包含 start ,不包含 end
- step 指的是步长(间隔),基本上每隔 step-1 个取一次
- 步长默认为 1
- 步长不能为 0
- 步长可以是负数 :但是要颠倒 开始和结束
-
word = 'a s d f g h j k l z x c v b n m q w e r t y' print(word[4]) # word[4] = 'x' # 报错 # 原因:字符串是不可变的数据类型 # 注意:对于字符串的任何操作,都不会改变原有的字符串 print(word[2:9]) # 包含索引为2的字符,不包含索引为9的字符 print(word[2:]) # 如果只设置了 start ,则会截取到最后 print(word[:9]) # 如果只设置了 end ,则会从头开始截取 print(word[2:15:2]) # d g j l x v n -- 少了:f h k z c b print(word[2:9:-1]) # 没有出现任何数据: # -1 是颠倒寻找次序,从原先的 从左往右 变成了 从右往左 # 上面开始的索引为 2 ,也就是字符串中的 d # 但是如果从索引 2 的右,往左找的话,是不可能找到 索引 9 的 print(word[9:2:-1]) # 同样是包含开始 9 ,不包含结束 2 print(word[::]) # 从头到尾全部复制 # a s d f g h j k l z x c v b n m q w e r t y print(word[::-1]) # 从尾到头(从右往左)全部复制 # y t r e w q m n b v c x z l k j h g f d s a print(word[-9:-2]) # 从右往左数的第 9 个数 到从右往左数的第 2 个数 #w e r t # 在这里的每一个字符串中间都有一个空格,这一个空格也要占一个索引 # 所以 w 是开始(-9),空格是结束(-2) # (注意这里不是索引,而是第几个数,是从1开始数的)
(3)转义字符
- 反斜杠 \ 作为转义字符
- 通过转义字符,可以在字符串中使用一些特殊字符
- \' 表示 '
- \" 表示 "
- \t 表示 制表符
- \\ 表示 \
- \n 表示 换行符
- \uxxxx 表示 Unicode编码
- 在字符串前面添加 r 在python里表示的是原生字符串,但是这种方式对引号不管用
-
w = r" xiaoming : \n hello" print(w) # xiaoming : \n hello
-
- 通过转义字符,可以在字符串中使用一些特殊字符