字符串的操作命令
1)len
2)str
str(数据) - 所有的数据都可以转换成字符,转换的时候是在数据的打印值外面加引号
str(数据)会把数据里所有的双引号改成单引号,再然后外面加双引号
3)eval(字符串) - 去掉字符串的引号,获取字符串的内容
注意: 去掉引号以后必须是一个python中的有效数据(或者说可以被python识别的)
例如:
result = eval(‘abc’) - abc,错误
result = eval(’ “abc” ') - “abc”,正确
字符串相关方法
字符串.方法() - 作用是将序列中的元素用指定字符串拼接成一个新的字符串(序列中的元素必须全部都是新的字符串)
1)str = ’ 元素链接符 '.join( 序列 ) - 将列表中的元素连接成字符串
list1 = [‘hellow’, ‘word’, ‘你好’, ‘世界’]
srt1 = ‘’.join(list1)
2)字符串1.split( 字符串2) - 将字符串1中所有的字符串2作为切割点对字符串1进行切割
str22 = ‘abc123hellow123你好123python’
result22 = str22.split(‘123’)
prtint(‘result’) # [‘abc’, ‘hellow’, ‘你好’, ‘python’]
注意,如果切割点在字符串开头,或者字符串结尾,或者连续出现多个切割点都会产生空串
3)replace - 替换
字符串1.replace(字符串2,字符串3,替换次数) - 将字符串1中所有的字符串2替换成字符串3
str33 = ‘how are you? Im fine, Thank you!’
str33.replace(‘you’,‘me’,1)
4)字符串.strip(‘字符(默认是空格)’) - 去掉字符串前后的空白字符
str1 = ’ \t \n good good study \n ’
print(str1)
5)字符串.count(‘字符串’) - 统计字符串出现的次数
6)maketrans - translate
str.maketrans(字符串1,字符串2) - 通过字符串1和字符串2创建替换对应关系表
字符串.translate(对应关系表) - 按照对应关系表将字符串中字符进行替换
先用translate选择要替换的关系表,然后用maketrans建立替换关系
print(‘------------------我是华丽的分割线------------------------’)
字符串增加
canter(中间) - ljust(放左边) - rjust(放右边) - zfill()
字符串.center(长度,填充字符串) - 将指定字符串变成指定长度,不够的用指定字符串填充,原字符放中间
字符串.ljust(长度,字符) - 将指定字符串变成指定长度,不够的用指定字符串填充,原字符放左边
字符串.rjust(长度,字符) - 将指定字符串变成指定长度,不够的用指定字符串填充,原字符放右边
字符串.rjust(长度) - 将指定字符串变成指定长度,前面用0填充
2)find - index
字符串1.find(字符串2) - 获取字符串2在字符串1中第一次出现的位置(如果找不到这返回-1)
字符串1.index(字符串2) - 获取字符串2在字符串1中第一次出现的位置(如果找不到,这报错)
拓展功能:
字符串.rfind(字符串2) - 从后往前找第一个符合的目标(如果找不到这返回-1)
字符串.lindex(字符串2) - 从后往前找第一个符合的目标(如果找不到,这报错)
isdigit() 如果字符串只包含数字则返回 True 否则返回 False(只有阿拉伯数字,不包含中文数字一.二)
isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False(包括其他语言的数字,一二叁,Ⅰ(1),Ⅴ(5),Ⅷ(8))
格式化输入/输出
1.拼接法
str1 = 变量 + “字符串”
2.使用占位符
语法:包含格式占位符的字符串’% % %’ % (数据1.数据2.数据3)
注意:后面括号中的数据必须和前面字符串中的占位符一一对应
%s - 字符串占位符,在python中可以对应任何类型数据
%d - 整数占位符,在python中可以对应任何数字
%f - 浮点数占位符,在python中可以对应任何数字
%.Nf - 暴力N位小数
‘%字符串%字符串’ % ((变量:对应前面第一个%),(变量:对应第二个%))
例如:
# xxx今年xx岁,月薪:xxxx.x元
str1 = '%s今年%d岁,月薪%.2f元' %(name, age, 6565.12127)
3.使用f-string
f ’ {变量} 字符串 ’
例如:
str1 = '%s今年%d岁.月薪%f元' %(name, age, 6565.7)
print(f'字符{变量}')
print(f'{name*2}今年{age}岁')
添加参数:
1)加参数:{表达式:参数}
1.控制小数位数的参数: {表达式 : .Nf}
money = 12311.567
str1 = f ‘年薪:{money*13 :.2f}’
2.显示百分比
rate = 0.87
str = f’班级及格率:{rate:%}’
3.逗号显示金额(大额数据)
{变量 :, }
print(f'{123456789:,}') # 123,456,789
4.修改/填充内容的长度
f’{变量 : 填充内容 </>/^ 数量}’
num = 3
str = f'py2202{num:0<5}' # 在右边添加
print(str)
# py220230000
str = f'py2202{num:0>5}' # 在左边添加
print(str)
# py220200003
str = f'py2202{num:0^5}' # 在两边添加
print(str)
# py220200300