python语法 数据结构-字符串

字符串类型名: str

1. 字符串的格式化

1.1 格式化操作符 %

前面使用占位符,如 %s %d %f,后面跟 % () ,有几个占位符,括号就有几个参数

a = '现在'
b= 2023
print('%s是%d年' % (a, b))

输出:现在是2023

1.2 .format() 方法

.format() 方法传入位置参数

a = '今天'
b = 35
print('{0}是{1}度' .format(a, b))

输出:今天是35

1.3 f 字符串(推荐)

f字符串使用非常简单:当在字符串前面使用 "f" 时, 大括号内 所有变量 都会被读取并 替换为那里的值 。例如:

age = 18
message = f"You are {age} years old"
print(message)

输出:You are 18 years old

1.4 r 字符串

当在字符串前面使用 "r" 时,此字符串中的 \n \b \r … 等转义符号,就不再进行转义,例如:

print(r'abcd\n1234'

输出:abcd\n1234

2. 获取字符串中某个字符

需要注意 :字符串一旦定来就不能直接对它们进行修改, 如果必须要修改,可以通过拼接旧字符串的各个部分得到新字符串的方式。

2.1 迭代

当要访问字符串的其中一个字符的时候, 可以通过 迭代 获取单个字符,例如

a = '123'
for char in a:
    print(char)

输出:
1
2
3

2.2 [ ] 切片

总结: str[start:end:方向和步长]

filename = 'picture.png'

# 1. 取字符串
print(filename[5])       # 只取第 5 个字符

# 2. 截取字符串
print(filename[0:7])     # 取第 0-6 字符串
print(filename[3:7])     # 取第 3-6 字符串

print(filename[3:])      #只要省略的是后面的,表示一直取到最后
print(filename[:7])      #只要省略的前面的,表示从0开始取


print(filename[8:-1])    # 从第 8 个开始到 倒数第 2 个结束
print(filename[:-2])     # 从第 0 个开始到 倒数第 3 个结束
print(filename[-1:])     # 从第 1 个开始到 最后结束
print(filename[-5:-1])   # 从第 5 个开始到 倒数第 2 个结束

print(filename[::-1])   # 倒序
输出:
r
picture
ture
ture.png
picture
pn
picture.p
g
e.pn
gnp.erutcip

3. 字符串 与 算术操作符

  • + 相当于拼接符
    例如:
a = 'hello '
b = 'world!'
c = a + b
print(c)

输出:hello world!
  • * 相当于倍数
a = 'hello '
print(a * 3)

输出:hello hello hello 
  • in 在。。。。。里面
a = 'hello '
result = 'he' in a
print(result)

输出:True
  • not in 不在。。。。。里面
a = 'hello '
result = 'aa' in a
print(result)

输出:False

4. 字符串常用方法

函数名 功能
casefold( void ) 将字符串的所有字符变为小写,并返回
count(sub[, start[, end]]) 查找sub子字符串出现的次数
start end 表示查找的范围
find(sub[,start[, end]]) 查找某个子字符串在该字符串中的位置
找到了, 则返回值是第一个字符的索引值; 找不到则返回 -1
join(sub) 以字符串作为分隔符, 插入到 sub 字符串中所有的字符之间
replace(old, new[, count]) 替换指定的字符串
split(sep = None, maxsplit = G1) 拆分字符串

4.1 join(sbu)

a = 'ABCD'
b = '_'.join(a)

print(b) 

输出:
A_B_C_D

4.2 split(sep = None, maxsplit = G1)

不带参数 默认是以空格为分隔符 切片字符串
如果 maxsplit 参数有设置,则 仅分割 maxsplit 个子字符串 返回切片后的子字符串拼接的列表

a = 'A_B_C_D'
b = a.split('_')

print(b)
print('-----')

a = ''.join(b)

print(a)

输出:
['A', 'B', 'C', 'D']
-----
ABCD

版权声明:本文为m0_56208280原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。