07 字符串(str/string)-独有方法
字符串是写代码中最常见
python内存中的字符串是按照:unicode 编码存储。
字符串是不可变。
独有方法
.upper转换大写
v = 'alex'
v1 = v.upper()
print(v1)
v2 = v.isupper() # 判断是否全部是大写
print(v2)
.lower转换小写
v = 'ALEX'
v1 = v.lower()
print(v1)
v2 = v.islower() # 判断是否全部是小写
print(v2)
############ 了解即可
v = 'ß'
# 将字符串变小写(更牛逼)
v1 = v.casefold()
print(v1) # ss
v2 = v.lower()
print(v2)
.isdigit判断数字
v = '1'
# v = '二'
# v = '②'
v1 = v.isdigit() # '1'-> True; '二'-> False; '②' --> True 判断是否为:数字
v2 = v.isdecimal() # '1'-> True; '二'-> False; '②' --> False
v3 = v.isnumeric() # '1'-> True; '二'-> True; '②' --> True
print(v1,v2,v3)
# 以后推荐用 isdecimal 判断是否是 10进制的数。
# ############## 应用 ##############
v = ['alex','eric','tony']
for i in v:
print(i)
num = input('请输入序号:')
if num.isdecimal():
num = int(num)
print(v[num])
else:
print('你输入的不是数字')
.strip去除空格
\t + \n + 指定字符串
# strip 去除两边空格,
# lstrip去除左边空格,
# rstrip去除右边空格
v1 = "alex "
print(v1.strip())
v2 = "alex\t"
print(v2.strip())
v3 = "alex\n"
print(v3.strip())
v1 = "alexa"
print(v1.strip('al'))
.replace替换字符
通过替换,可以完成敏感词的替换操作
message = input('请说话:')
print(message) # “我去你大爷的家里玩”
# data = message.replace('大爷',"**",1)
# 大爷 查找的内容, ** 将查找的内容进行替换的内容,1 替换的次数
data = message.replace('大爷',"**",2)
print(data)
.split .rsplit 切割字符,返回列表
用来切割字符串,切割后返回值为列表
message = "小黑现在一脸懵逼,因为昨天晚上一直在学习,直到深夜。"
# result = message.split(',') #根据, 进行切割
# result = message.split(',',1)#根据, 进行切割,切割一次
# result = message.rsplit(',')
result = message.rsplit(',',1) #从右开始进行切割
print(result)
startswith / endswith 判断字符开头与结尾
以什么:开头 / 结尾
#示例:以al开头
"""
# 方式一:
flag = name.startswith('al')
print(flag)
"""
"""
# 方式二:
val = name[0:2]
if val == 'al':
print('是以al开头')
else:
print('不是')
"""
format
格式化输出
name = "我叫{0},年龄:{1}".format('老男孩',73) # {0} 表示占位符
print(name)
encode 编码
编码,把字符串转换成二进制
name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。
v1 = name.encode('utf-8') #一个中文占用3个字节
print(v1)
v2 = name.encode('gbk') #一个中文占用2个字节
print(v2)
join
循环每个元素,并在元素和元素之间加入连接符。
name = 'alex' # a_l_e_x
result = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符。
print(result)