一、字符串相关方法 Ⅱ
一、字符串.count()
字符串1. count(字符串2) - 统计字符串1中字符串2出现的次数
str1 = 'how are you? im fine,Thank you! and you?'
print(str1.count('you'))
print(str1.count('a'))
二、 字符串.isdigit
()/字符串.isnumeric
()
1. isdigit
类型 | 说明 |
---|---|
字符串.isdigit () | 判断指定字符串是否是纯数字字符串(阿拉伯数字0~9) |
字符.isdigit () | 判断指定的字符是否是数字字符 |
2. isnumeric
类型 | 说明 |
---|---|
字符串.isnumeric () | 判断指定字符串是否是纯数字字符 |
三、 islower
、isupper
类型 | 说明 |
---|---|
字符串.islower () | 判断字符串是否是纯小写字母字符串(是否全部是小写字母) |
字符.islower () | 判断指定字符是否是小写字母 |
isupper
同islower
类似
四、 字符串.lower()、字符串.upper()
类型 | 说明 |
---|---|
字符串.lower() | 将字符串中所有的大写字母都转换成对应的小写字母 |
字符串.upper() | 将字符串中所有的小写字母都转换成对应的大写字母 |
print('jsks2239数据HKN9220kk'.upper()) # JSKS2239数据HKN9220KK
print('jsks2239数据HKN9220kk'.lower()) # jsks2239数据hkn9220kk
五、字符串.maketrans
()、字符串.translate()
类型 | 说明 |
---|---|
str.maketrans (字符串1, 字符串2) | 创建字符串1中每个字符和字符串2中每个字符之间的对应关系表 |
str1 = '123a89b234a7c9'
table = str.maketrans('abc', '+-*')
result = str1.translate(table)
print(result) # 123+89-234+7*9
案例
t = '星期6'
table = str.maketrans('0123456', '一二三四五六天')
print(t.translate(table))
六、 字符串.rjust
/ljust
/center/zfill
()
用法 | 示例 | 结果 |
---|---|---|
字符串.rjust (宽度, 字符) | str1.rjust (7, ‘1’) | 1111abc |
字符串.ljust (宽度, 字符) | str1.ljust (7, ‘1’) | abc1111 |
字符串.center(宽度, 字符) | str1.center (7, ‘1’) | 11abc11 |
字符串.zfill (宽度) | str1.zfill (7) | 0000abc |
字符串.zfill(宽度) == 字符串.rjust(宽度, ‘0’)
二、字符串格式化
问题: 字符串的部分内容是动态变化的!
name = input('请输入名字: ')
age = int(input('请输入年龄: '))
name = '小明'
age = 17
message是 'xxx今年xx岁!'
1. 使用 + 做字符串拼接
message = name + '今年' + str(age) + '岁'
print(message) # 小明今年15岁
2. 使用格式字符串
使用格式字符串 - 带有格式占位符的字符串就是格式字符串
- python使用格式字符串的语法: 带有格式占位符的字符串 % (数据1, 数据2, 数据3…)
注意: 后面括号中数据必须和前面字符串的占位符一一对应(数量、位置、类型) ;如果数据只有一个,后面小括号可以不写
类型 | 说明 |
---|---|
%s | 字符串占位符(给任何类型数据占位) |
%d | 整数占位符(自动转换成整数) |
%f | 浮点数占位符(转换成小数,默认保留6位小数) |
%.Nf | 保留N位小数 |
name = '小明'
age = 17
score1 = 79
score2 = 89
score3 = 98
message = '%s今年%d岁,这次考试的成绩分别是: 语文-%d, 数学-%d, 英语-%d。'% (name, age, score1, score2, score3)
print(message) # 小明今年15岁,这次考试的成绩分别是: 语文-79, 数学-89, 英语-98。
示例
a = 89 b = 23.98 print('a:%d, b:%d' % (a, b)) # a:89, b:23 print('a:%f, b:%f' % (a, b)) # a:89.000000, b:23.980000 print('a:%.2f, b:%.3f' % (a, b)) # a:89.00, b:23.980
3. 使用f - string
在字符串的外面加上一个f或者F,就可以在字符串中通过{表达式}给字符串提供内容({}中表达式的结果是什么,填充到字符串中的内容就是什么)
name = '小明'
age = 17
score1 = 79
score2 = 89
score3 = 98
message = f'{name}今年{age}岁,这次考试的成绩分别是: 语文-{score1}, 数学-{score2}, 英语-{score3}。'
print(message) # 小明今年17岁,这次考试的成绩分别是: 语文-79, 数学-89, 英语-98。
- 怎么在{}中通过表达式提供数据
直接使用变量来提供数据
message = f'{name}今年{age}岁'
print(message) # 小明今年17岁
直接使用具体的数据提供数据
message = f'{"你好"}今年{18}岁'
print(message) # 你好今年18岁
可以用运算表达式的结果来提供数据
message = f'{name[0]}今年{age + 10}岁'
print(message) # 小今年27岁
message = f'数字列表:{[x*2 for x in range(5)]}'
print(message) # 数字列表:[0, 2, 4, 6, 8]
- f-string参数的使用
- {提供数据的表达式:参数}
#a. 控制小数位数的参数 : {提供数据的表达式: Nf}
money = 82992.82
str1 = f'金额:{money:.3f}元'
print(str1)
str1 = f'年薪:{money * 13:.2f}元'
print(str1)
# b.金额数据逗号分割:
money = 1078906.6675
str1 = f'年薪:{money:,}元'
print(str1) # 年薪:1,078,906.6675元
money = 1078906.66
str1 = f'年薪:{money:,.2f}元'
print(str1) # 年薪:1,078,906.66元
# c.显示百分比:{提供数据的表达式:.N%}
rete = 20 / 28
print(f'班级成材率: {rete:.2%}') # 班级成材率: 71.43%
# d.控制填充内容在字符串中所占的宽度: {提供数据的表达式:字符>N}、{提供数据的表达式:字符<N}、{提供数据的表达式:字符^N}
注意: 没有写字符的时候用空格填充
str1 = 'asdg'
message = f'字符串:{str1}!'
print(message) # 字符串:asdg!
str1 = 'asdg'
message = f'字符串:{str1:/>9}!'
print(message) # 字符串://asdg!
str1 = 'asdg'
message = f'字符串:{str1:*^9}!'
print(message) # 字符串:**asdg***!
str1 = 'asdg'
message = f'字符串:{str1:~<9}!'
print(message) # 字符串:asdg~~~~~!
message1 = f'{"成都校区"}上半年招生量:{2354 }人,总收入:{12435678}元'
message2 = f'{"上海校区"}上半年招生量:{3354}人,总收入:{22435678}元'
message3 = f'{"北京校区"}上半年招生量:{4354}人,总收入:{42435678}元'
message4 = f'{"哈尔并校区"}上半年招生量:{235}人,总收入:{124356}元'
print(message1)
print(message2)
print(message3)
print(message4)