4.22字符串操作

字符串的操作命令

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值