一、认识字符串
1.什么是字符串(str)
字符串属于容器型数据类型,又叫序列。将引号(可以是单引号也可以是双引号)作为容器,字符是元素,不可变(字符个数、字符值和顺序不可变),但是有序(字符的顺序不同、字符串的值就不一样)
2.字符串中的内容
字符串中的每个基本单元就是字符:python中有字符的概念,但是没有字符对应的数据类型
- 1)普通字符:例如:字母,数字,文字,符号
- 2)转义字符:在指定的符号前加
\
来表示一些具有特殊功能或者特殊意义的符号-
\n
— 换行 -
\t
— 制表符 -
\'
— 一个单引号 -
\"
— 一个双引号 -
\\
— 反斜杠
-
- 3)编码字符串:用
\u
四位十六进制编码值,表示一个编码值对应的字符 - 4)编码:计算机存储字符的时候实质存的是字符对应的编码值,每个字符的编码值是固定的
- 计算机本身只有存储数字的能力,而且存的是数字的补码(二进制)
- 字符和字符的编码的一一对应关系叫编码表,常见的编码表有:ASCII表和Unicode表,python的字符采用的是Unicode编码(Unicode表是对ASCII表的扩充,包含了世界上所有的语言符号)
- 中文编码范围:
\u4e00—\u9fa5
-
chr(编码值)
— 获取编码值对应的字符 -
ord(字符)
— 获取字符的编码值
- 5)阻止转义:在字符串的最前面加
r/R
可以阻止当前字符串中的所有转义字符转义 - 注意:一个转义字符和一个编码字符的长度都是1
二、字符串操作
1.获取字符串
1.1 获取单个字符
1)语法
字符串[下标]
— 获取指定下标对应的字符
2)说明
字符串
— 可以是字符串值、字符串变量或者是结果是字符串的表达式
[]
— 固定写法
下标
— 下标索引;字符串一旦确定,那么字符串中的每个字符的为止就确定了,
每个字符都会对应固定的下标来表示字符在在字符串中的位置。
下标的值有两种:0 ~ 字符串长度-1;-1~ -字符串长度。
下标0对应的是第一个字符,下标-1对应的是最后一个字符。
3)注意
下标不能越界
1.2 获取部分字符(字符串切片)
1)语法
字符串[开始下标:结束下标:步长]
— 从开始下标开始获取,每次增加步长去取下一个字符,直到获取到结束下标为止。
2)说明
字符串
— 字符串值或者字符串变量
[]
— 固定写法
开始下标,结束下标 — 下标值
步长 — 整数
3)注意
- 结束下标对应的字符永远取不到;
- 当步长为正,开始下标到结束下标从前往后取,这个时候开始下标对应的字符必须在结束下标的前面,否则取到的是空串;
- 当步长为负,开始下标到结束下标从后往前取,这个时候开始下标对应的字符必须在结束下标的后面,否则取到的是空串;
''
— 空串 - 下标可以越界。
1.3 获取部分字符2
- 省略步长:步长为1
字符串[开始下标:结束下标]
- 省略开始下标
-
字符串[:结束下标:步长]
、字符串[:结束下标]
- 步长为正:从第一个字符开始往后取; 步长为负:从最后一个字符往前取
-
- 省略下标
-
字符串[::步长]
、字符串[:]
-
2.遍历字符串
2.1直接遍历拿到每个字符
for 变量 in 字符串:
循环体
2.2通过遍历下标遍历字符串
len(字符串)
— 获取字符串长度(字符的个数)
三、字符串相关运算
1.数学运算:+,*
1)字符串1 + 字符串2 — 将两个字符串拼接在一起产生一个新的字符串
注意:字符串只能和字符串相加
2)字符串*N — 字符串重复N次产生新的字符串
2.比较运算
1)比较相等:==
,!=
2)比较大小:> ,<,>=,<=
字符串比较大小,比较多是字符串第一对不相等的字符串的编码值的大小
判断一个字符是否是小写字母:
'a'<=字符<='z'
判断一个字符是否是大写字母:
'A'<=字符<='Z'
判断一个字符是否是字母:
'a'<=字符<='z' or 'A'<=字符<='Z'
判断一个字符是否是数字字符:
'0'<=字符<='9'
判断一个字符是否是中文(4e00-9fa5):
'\u4e00'<=字符<='\u9fa5'
3.in / not in
字符串1 in 字符串2
— 判断字符串2在、是否包含字符串1
字符串1 not in 字符串2
— 判断字符串2在、是否不包含字符串1
4.str(数据) — 将指定数据转换成字符串
所有的数据都可以转换成字符串; 直接在数据的外面加引号
5.格式化字符串
在字符串中用格式占位符来表示字符串中变化的部分
1)语法
包含格式占位符的字符串 % (格式占位符对应的多个数据)
- %s — 字符串
- %d — 整数
- %Nf — 小数,N用来约束小数的位数
- %c — 字符(可以将数字转换成字符)
6.字符串相关的方法
字符串.函数名()
1)对齐方式
字符串.center(宽度,填充字符)
字符串.ljust(宽度,填充字符)
字符串.rjust(宽度,填充字符)
-
字符串.zfill(宽度)
==rjust(宽度,'0')
2)统计个数
字符串1.count(字符串2)
— 统计字符串1中字符串2出现的个数
3)join函数
字符串.jion(序列)
— 将序列中的元素用指定的字符串连接在一起产生一个新的字符串
注意:序列的元素必须是字符串
4)去掉空白
字符串.lstrip()
— 去掉字符串左边的空白
字符串.rstrip()
— 去掉字符串右边的空白
字符串.strip()
— 去掉字符串两边的空白
5)字符串替换
字符串.replace(字符串1,字符串2)
— 将字符串中的字符串1替换成字符串2
6)字符串切割
字符串.split(字符串1)
— 字符串按照字符串1进行切割,结果是包含多个字符串的列表