字符串是由0个或多个字符组成的有序字符序列。
Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
它有两类共四种表示方法:
由一对单引号或双引号表示,仅表示单行字符串;
由一对三单引号或三双引号表示,可表示多行字符串。
我们可使用[ ]获取字符串中一个或多个字符。
#索引:返回字符串中单个字符 <字符串>[M]
print("Lora"[-1])
print("Lora"[0])
#切片:返回字符串中一段字符子串 <字符串>[M: N]
print("Lora"[1:3])
print("Lora"[0:-1])
'''
运行结果:
a
L
or
Lor
'''
#字符串切片高级用法:使用[M: N: K]根据步长对字符串切片
#<字符串>[M: N],M缺失表示至开头,N缺失表示至结尾
#遵循左闭右开原则
print("123456789"[:3])
print("123456789"[3:])
#<字符串>[M: N: K],根据步长K对字符串切片
print("123456789"[1:8:2])
print("123456789"[::-1])#相当于倒序
'''
运行结果:
123
456789
2468
987654321
'''
字符串有个特殊字符叫转义符 \ 。
转义符可表达特定字符的本意,如:
"这里有个双引号( \ " ) " 结果为 这里有个双引号( " )
转义符形成一些组合,表达一些不可打印的含义:
转义字符 | 描述 |
---|---|
\b | 回退 |
\n | 换行(光标移动到下行首) |
\r | 回车(光标移动到本行首) |
字符串操作符
下表实例变量a值为字符串 “Hello”,b变量值为 “Python”:
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a + b 输出结果: HelloPython |
* | 重复输出字符串 | a*2 输出结果:HelloHello |
in | 如果字符串中包含给定的字符返回 True ,否则返回False | ‘H’ in a 输出结果 True |
字符串处理函数
函数 | 描述 |
---|---|
len(string) | 返回字符串长度 |
str(x) | 任意类型x所对应的字符串形式 |
hex(x) 或 oct(x) | 整数x的十六进制或八进制小写形式字符串 |
chr(x) | x为Unicode编码,返回其对应的字符 |
ord(x) | x为字符,返回其对应的Unicode编码 |
str.lower() | 转换字符串中大写字符为小写 |
str.upper() | 转换字符串中小写字母为大写 |
str.split(sep=None) | 返回一个列表,由str根据sep被分隔的部分组成 |
str.count(a) | 返回子串a在str中出现的次数 |
str.replace(old,new) | 所有old子串被替换为new |
str.center(width[,fillchar]) | 字符串str根据宽度width居中,fillchar可选 |
str.strip(chars) | 从str中去掉在其左侧和右侧chars中列出的字符 |
str.join(iter) | 在iter变量除最后元素外每个元素后增加一个str |
实例:
print(len("一二三456"))
print(str(1.234))
print(hex(425))
print("ABcdEFG".lower())
print("ABcdEFG".upper())
print("A,B,C".split(","))
print("an apple a day".count("a"))
print("abab".replace("b","a"))
print("python".center(20,"*"))
print("python".strip("py"))
print(",".join("Lora"))
'''
运行结果:
6
1.234
0x1a9
abcdefg
ABCDEFG
['A', 'B', 'C']
4
aaaa
*******python*******
thon
L,o,r,a
'''
字符串类型的格式化
<模板字符串>.format(<逗号分隔的参数>)
print("今天是{}年,{}月{}日,星期{}".format("2020",3,19,"四"))
#以上是默认顺序,也可以更改顺序
print("今天是{3}年,{2}月{1}日,星期{0}".format("四",19,3,"2020"))
'''
输出结果都是:今天是2020年,3月19日,星期四
'''
#format()方法的格式控制
#举例:保留两位小数
print("{:.2f}".format(12345.6789))
#运行结果:12345.68