概括
承接上一节字符串的内容。
2.3.1.7 lower(),upper()
功能:字符串变大小写,得到一个新的字符串
- lower() ,字符串变小写,得到一个新的字符串
- upper(),字符串变大写,得到一个新的字符串
# 字符串大小写的转变
s = 'A'
print(s) # A
s1 = s.lower()
print(s1) # a
s2 = s1.upper()
print(s2) # A
2.3.1.8 split()
功能:切分字符串,将字符串类型转成列表并输出,默认以空格切分,也可以指定字符切分。
# 返回新的字符串,不影响原来字符串
# 默认空格切分
s = 'I am spider-man'
print(s.split()) # ['I', 'am', 'spider-man'] 返回新的字符串
print('原字符串',s) # I am spider-man
# 可以按照规定符号切分
s = 'you,are,a,good,man'
print(s.split(',')) # ['you', 'are', 'a', 'good', 'man']
print(s) # you,are,a,good,man
2.3.1.9 replace()
功能:字符串内容的替换,得到一个新的字符串
语法:
str.replace(参数1,参数2)
参数1是原来的字符,参数2是要替换的字符.
# replace()替换敏感词
content = input('请输入评论信息:')
content1 = content.replace('草','*')
print('原内容:',content) # 原内容: 你的头上长草了
print('替换后的内容',content1) # 替换后的内容 你的头上长*了
2.3.1.10 join()
功能:用于将序列中的元素以指定的字符串进行连接生成一个新的字符串,常用于将列表转为字符串
arr = '子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥'
arr1 = arr.split()
print(arr1) # ['子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥']
print(''.join(arr1)) # 子丑寅卯辰巳午未申酉戌亥
print('-'.join(arr1)) # 子-丑-寅-卯-辰-巳-午-未-申-酉-戌-亥
print('原字符串',arr) # 原字符串 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥
2.3.2 字符串的公共功能
2.3.2.1 索引
s = 'hello python'
# 正向取
print(s[0]) # h
print(s[5]) # 空格,空格也算字符串里面的一个字符
# 反向取
print(s[-4]) # t
# len()方法是求长度
s = 'hello python'
print(s[len(s) - 1]) # 最后一个值 n
print(s[-len(s)]) # 第一个 h
2.3.2.2 切片
口诀:顾头不顾尾,取左不取右。
# 顾头不顾尾:取出索引0到8的所有字符
s = 'hello python'
print(s[0:9]) # hello pyt
print(s[:9]) # 开始的下标不写的话,默认是0 hello pyt
print(s[:]) # 从头到尾 hello python
# 步长:0:9:2第三个参数2代表步长,会从下标0开始,每次累加一个2即可,所以会取出索引0 2 4 6 8的字符
s = 'hello python'
print(s[0:9:2]) # hlopt
# 反向切片
s = 'hello python'
print(s[::-1]) # 从右到左反向取值,步长为-1就是从右到左,首位不给值就是所有的
print(s[-1:-13:-1])
2.3.3 字符串的格式化输出
# 你好某某某,我叫某某某,再见某某某
# 普通写法
name = '晓明'
age = 18
print('大家好,我叫' + name + '我今年' + str(age) + '岁')
2.3.3.1 % 方法(占位符)
常用的占位符:
- %s = 字符串-->只能放字符串
- %d = 整数-->只能放整数
- %f = 小数-->默认保留6位小数点
- %.1f-->保留一位小数
- %.2f-->保留两位小数
语法:
('xx%dxxx%s'%(变量1,变量2)) # 占位符使用在引号内部
# 字符串初始化, 方法一:占位符
name = '张三'
age = 18
height = 180.0
print('您好,我叫%s,今年%d岁了,身高是%f' % (name, age, height)) # 您好,我叫张三,今年18岁了,身高是180.000000
# 也可以直接放数据
print('你好,我叫%s,今年%d岁了,身高是%.2f' % ('张三', 18, 180.0))
# 也可以这样写
s = '我叫%s,今年%d岁了,身高是%.2f'
print(s % ('张三', 18, 180.0))
2.3.3.2 format()方法
语法:
'{}{}{}'.format(数据1,数据2,数据3) # 使用在引号内部
# 字符串初始化 方法二:format()
name = '张三'
age = 18
height = 180.0
print('大家好,我叫{},我的年龄是{},我的身高是{}'.format(name, age, height))
print('大家好,我叫{0},我的年龄是{2},我的身高是{1}'.format(name, height, age))
大家好,我叫张三,我的年龄是18,我的身高是180.0
大家好,我叫张三,我的年龄是18,我的身高是180.0
2.3.3.3 f-format
语法:在字符串的前面加上一个f/F,把要输出的变量用大括号{}进行包裹
# 字符串初始化,方法三: f/F
name = '张三'
age = 18
height = 180.0
print(f'大家好,我叫{name},我今年{age}岁了,身高是{height}')
print(f'大家好,我叫{name[0]},我今年{age+2}岁了,身高是{height}')
大家好,我叫张三,我今年18岁了,身高是180.0
大家好,我叫张,我今年20岁了,身高是180.0