3、字符串类型
字符串,用它来表示文本信息,例如姓名、地址、自我介绍
3.1 定义
v1 = '这是一个栗子'
v2 = "'这'是一个栗子"
v3 ='''
大家一起来看看
这就是一个字符串
'''
## 三个引号,可以支持多行/换行表示一个字符串,其他只能在一行中表示一个字符串
3.2 独有功能
"xxxxx".功能(...)
v1 = 'xxxx'
v1.功能(....)
3.2.1 判断是否以xx开头,得到一个布尔值
v1 = ‘叨叨叨叨,是个什么叨’
result = v1.startswith(‘叨叨’)
print(result) # 值为True
3.2.2 判断是否以xx结尾,得到一个布尔值
v1 = ‘叨叨叨叨,是个什么叨’
result = v1.endswith(‘什么叨’)
print(result) # 值为True
3.2.3 判断字符串,是否为一个整数
v1 = '123454245'
result = v1.isdecimal()
print(result) ## True
## 案例
v1 = input('输入一个值')
if v1.isdecimal():
data = int(v1)
print(data)
else:
print('请输入一个数字')
3.2.4 去除字符串两边的空格,换行符,制表符,得到一个新的字符串
data = input('') # 如果输入的内容后面打了几个空格,要去除的话
print(data) ## "就是我呀 "
data1 = data.strip()
print(data1) ## ‘就是我呀’
data1 = data.lstrip() ## left_strip 清除左边的
data2 = data.rstrip() ## right_strip 清除右边的
\n 代表的是换行符 可以用以上功能剔除掉
\t 制表符....代表的是按了tab之后的功能
再补充: 去除字符串两边指定的内容
msg = ‘帅哥,hello,我是你哥’
data = msg.strip('哥')
print(data) # 源文件两边的哥全部去除,得到结果是:“哥,hello,我是你”
比如去除左边的指定的,和右边的指定的值,都是在括号内输入想去除的内容即可
3.2.5 字符串变大写,得到一个新字符串
msg = 'my name is Mark'
data = msg.upper()
print(msg) 值为: my name is Mark
print(data) 值为: MY NAME IS MARk
# 案例
code = input(‘输入验证码’)## fb88 FB88
value = code.upper()
data = vaule.strip()
if data == "FB88"
print(‘正确’)
else:
print('错误')
3.2.6 字符串变小写
data = msg.lower()
3.2.7 字符串内容替换,得到一个新的字符串
data = '我想要替换里面的内容,替换什么呢?'
vaule = data.replace('替换','更换')
print(vaule) ## “我想要更换里面的内容,更换什么呢?”
char_list = ['曹尼玛',‘二蛋’,‘钢球’]
content = input(‘请输入评论信息’)
for item in char_list
content = content.replace(item,"**")
print(content)
3.2.8 字符串切割,得到一个列表
data = "飞哥|root|鹏飞|q q.com"
result = data.split("|") # []
print(result) # 输出[“飞哥”,“root”,“鹏飞”,“qq.com”]
info = '鹏飞,root'
userlist = info.split(",")
user = input()
pwd= input()
if user == userlist[0] and pwd == userlist[1]
print('ok')
else:
print(“no”)
扩展
## 自定义切割几个
data = data.split('!',2) # 切前2个
## 从左边或者从右边开始切
data = data.lsplit("!",2) #. 从左边开始切2个
data = data.rsplit("!",2) # 从右开始切2个
3.2.9 字符串拼接,得到一个新的字符串
data = ['feige','shi','dashaobing']
new_data = "*".join(data) ## feige*shi*dashaobing
3.2.10 格式化字符串,得到一个新的字符串
name = ”{0}的喜欢干很多行业,例如有{1},{2}等“
data = name.format('feige','it','python')
3.2.11 字符串转换为字节类型
data = '大哥' # unicode # unicode, 字符串类型
new_data = data.encode('utf-8') # utf-8 ,字节类型
new_data2 = data.encode('gbk') # gbk ,也是字节类型
3.2.12 字符串居中,靠左。靠右展示
v1 = '老王呀'
data = v1.center(21,“*”) # 总长度为21,空白位置以*代替
print(data) ## *********老王呀*********
data_2 = v1.ljust(21,'-')
print(data_2) ## 老王呀-----------------
data_2 = v1.ljust(21,'-')
print(data_2) ## ----------------老王呀
3.2.13 帮助你填充0
在处理二进制数据的使用,会经常用到zfill,
data = 'pengfei'
v1 = data.zfill(10)
print(v1) # 000pengfei
## 举个例子
data = ‘101’
v2 = data.zfill(8)
print(v2) # 00000101