python-day10字符串相关方法

一、字符串相关方法

##1.尽可能记住

1)字符串1.count(字符串2) - 统计字符串1中字符串2出现的次数
2)字符串.isdigit() - 判断指定字符串是否纯数字字符串
符.isdigit() - 判断指定字符是否是数字字符

print('124354'.isdigit())  # True
print('124354fs'.isdigit())  # False

字符串.isnumeric() - 判断指定字符串是否是纯数字字符串

print('214215'.isnumeric())  # True
print('21421wf'.isnumeric())  # False
print('124352一'.isdigit())  # False
print('124352一'.isnumeric())  # True

3)islower()、isupper()
字符串.islower() - 判断字符串是否是纯小写字母字符
字符.islower() - 判断指定字符是否是小写字母

4)lower() upper()
字符串.lower() - 将字符串中所有的大写字母都转换成对应的小写字母

5)maketrans()、translate()
str.maketrans(字符串1,字符串2) - 创建字符串1中每个字符和字符串2中每个字符之间的对应关系

srt1 = '123a89b234a7c9'
table = str.maketrans('abc', '+-*')
result = srt1.translate(table)
print(result)

案例:

t = '星期7'
table = str.maketrans('0123456', '一二三四五六天')
print(t.translate(table))

6)rjust()、ljust()、center()、zfill()
字符串.rjust(宽度,字符)
字符串.ljust(宽度,字符)
字符串.center(宽度,字符)
字符串.zfill(宽度) == 字符串.rjust(宽度 ,‘0’)
宽度-7、字符-‘1’

str2 = 'abc'
print(str2.rjust(7, '1'))
print(str2.ljust(7, '1'))
print(str2.center(7, '1'))

二、字符串格式

问题:字符串的部分内容是动态变化的

name = input('请输入名字:')
name = '小小七'
age = 12

age = int(input('请输入年龄:'))
score1 = 90
score2 = 80
score3 = 95

print(f'{name}今年{age}岁了')

1.使用+做字符串拼接

message是’xxx今年xx岁!’

message = name + '今年' + str(age) + '岁'
print(message)

2.使用格式化字符串 -带有格式占位符的字符串就是格式字符串

python使用格式字符串的语法:带有格式字占位的符串%(数据1,数据2,数据3,…)
注意:后面括号中数据必须和前面字符串中的占位符一一对应(数量、位置、类型);如果数据只有一个,后面的小括号可以不写
常见的格式占位符:
%s - 字符串占位符(在python中可以用%s给任何类型的数据占位)
%d - 整数占位符(在python中可以用%d给任何数字占位,如果提供的数据是小数填充数据的时候会自动换成整数)
%f - 浮点数占位符(在python中可以用%f给任何数字占位,如果提供的数据是整数填充数据的时候会自动换成小数),小数默认保留6位小数
%.Nf - (保留位小数)
s使用建议: 给数字占位的时候使用%d或者%f,


xxx今年xx岁,这次考试的成绩分别是:语文-xxx,数学-xx,英语-xx
message = '%s今年%d岁,这次考试的成绩分别是:语文-%d,数学-%d,英语-%d.' % (name, age, score1, score2, score3)
print(message)

a = 89
b = 23.65
print('a:%d,b%d' % (a, b))
print('a:%f,b%f' % (a, b))
print('a:%.2f,b%.3f' % (a, b))
message = '%s今年%d岁!'%(name,age)

3.使用f-string

在字符串的最外面加一个f或者F,就可以在字符串中通过{表达式}给字符串提供内容{}中表达式的结果是什么,填充到字符串中的内容就是什么

message = f'{name}今年{age}岁,这次考试的成绩分别是:语文-{score1},数学-{score2},英语-{score3}'
print(message)

**1).怎么在{}中通过表达式提供数据

直接使用变量来提供数据
直接使用具体的数据提供数据
可以通过运算表达式的结果提供数据

message = f'数字列表:{[x*2for x in range(5)]}'
print(message)
age = int(input('请输入年龄:'))
message = f'来看看你成年还是未成年:{["成年" if age > 18 else "未成年"]}'
print(message)

**2)f-string参数的使用

{提供数据的表达式}
a.控制小数位数的参数:{提供数据的表达式:Nf}

money = 8895.25
str1 = f'金额:{money:.2f}元'
print(str1)

b.金额数据逗号分割:

money = 15200205.56
str1 = f'年薪:{money:,.2f}元'
print(str1)

c.显示百分比:{提供数据的表达式:N%}

print(f'班级成材率:{20/28:.2%}')

d.控制填充内容在字符串中所占的宽度:{提供数据的表达式:字符>N}、{提供数据的表达式:字符<N}、{提供数据的表达式:字符^N}

str1 = 'avd'
message = f'字符串:{str1:1>5}!'
message2 = f'字符串:{str1:1<5}!'
message3 = f'字符串:{str1:1^5}!'
print(message)
print(message2)
print(message3)

num = 23
print(f'py1901{num:0>3}')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值