字符串是一个有序的字符集合,用于存储
和表示基本的文本信息,一对单 ,双,或三引号
中间包含的内容称之为字符串。
特性:
有序
不可变
a = 'zheng'
当a重新被赋值时 a= 'xiao'
原来‘zheng’的内存地址依旧在,只不过
是重新开辟一个新的内存空间给a
切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。我们使用一对方括号、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片。
格式: [start:end:step]
• [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
• [start:] 从start 提取到结尾
• [:end] 从开头提取到end - 1
• [start:end] 从start 提取到end - 1
• [start:end:step] 从start 提取到end - 1,每step 个字符提取一个
• 左侧第一个字符的位置/偏移量为0,右侧最后一个字符的位置/偏移量为-1
提取最后N个字符:
>>> letter = 'abcdefghijklmnopqrstuvwxyz' >>> letter[-3:] 'xyz'
从开头到结尾,step为N:
>>> letter[::5] 'afkpuz'
将字符串倒转(reverse), 通过设置步长为负数:
>>> letter[::-1] 'zyxwvutsrqponmlkjihgfedcba'
字符串方法:
大写变小写,小写变大写
s = 'Zheng' print(s.swapcase ()) zHENG
首字母大写,其余全部小写
s='Zheng Yi Qun' print(s.capitalize()) Zheng yi qun
casefold() 全部改成小写
z = 'ZHENG yI Qun' print(z.casefold()) zheng yi qun
center(50,'-') 居中输出,两边打印输入的字符
print(z.center(50,'-'))
------------------------ZHENG YI QUN----------------------
count() 统计出现了几次,可以单个字符,也可以词组,也可以定义哪里开始到哪里结束
print(z.count('Z',0,5)) 1
endswith()判断以什么结尾
print(z.endswith('n')) True
find('z')查找该字符是否有,如果 有则显示下标索引位置,如果没有显示-1,也可以起始位置
print(z.find('ZHeng'))
-1
format ()字符串格式化
s1 = 'my name is {0},im {1}years old' print(s1.format('zhengyiqun', 22))
通过关键词 s2 ='my name is {name},im {old}years old' print(s2.format(name='zhengyiqun', old=22))
islower()判断是否全部小写
print('zzZ'.islower()) False
istitle()判断每个单词首字母是不是大写
print('Hello World'.istitle()) True
isupper()判断是否全部大写
print('ZZ'.isupper()) True
join()拼接成字符串
names = ['zheng', 'yi', 'qun'] print('_'.join(names)) zheng_yi_qun
ljust(50,'-') 往左边填充字符
s = 'Hello World' print(s.ljust(50,'-')) Hello World---------------------------------------
rjust(50,'-')往右边填充字符
print(s.rjust(50,'-')) ---------------------------------------Hello World
lower()全部小写
print('AB'.lower()) ab
upper()全部大写
print('ab'.upper()) AB
strip()去两边空格
print(' Hello World '.strip()) Hello World
lstrip()去左边空格
print(' Hello World'.lstrip()) Hello World
rstrip()去右边空格
print('Hello World '.rstrip()) Hello World
maketrans(str_a, str_b)通过生成一个对应表,然后使用translate(table),生成出来的对应表进行翻译
str_a = '123456' str_b = 'abcdef' table = str.maketrans(str_a, str_b) print(table) a = '6962213124' print(a.translate(table)) f9fbbacabd
replace()替换,可以指定替换几次。默认全部替换
print('Hello World'.replace('H', 'h')) print('Hello World'.replace('o', '-', 1)) hello World Hell- World
split()分隔成列表,默认空格,也可以指定,也可以分隔几次
q = 'Hello world' print(q.split()) print(q.split('w'))