Python学习笔记(九)——字符串

# 5.1 字符串的拼接
str1 = '我今天一共走了'
num = 1280
str2 = '步'
print(str1+str(num)+str2)

# 计算字符串长度
print(len(str1))

# 5.2 字符串截取
str3 = 'abcdefgh'
substr1 = str3[2]
substr2 = str3[1:3]
substr3 = str3[:3]
substr3 = str3[1:]
print(substr1+'
'+substr2+'
'+substr3)

# 5.3 分割字符串
str4 = '小 菜 鸡 要 加 油'
list4 = str4.split(' ')
print('原字符串:' + str4)
print('分割字符串:' + str(list4))

# 5.4 合并字符串
list5 = ['马云','扎克伯格','马化腾']
str_friend = ' @'.join(list5)
strnew = '@'+str_friend
print('你要@的好友:',strnew)

# 5.5 检索字符串
str6_1 = '@小菜鸡 @小菜鸟'
print(str6_1.count('@'))         #指定字符串在另一个字符串出现的次数
print(str6_1.find('@'))          #返回子字符串首次出现位置,若不存在返回-1
print(str6_1.index('@'))         #与find类似,若子字符串不存在则会抛出异常
print(str6_1.startswith('@'))    #是否以子字符串开头
print(str6_1.endswith('@'))      #是否以子字符串结尾

# 5.6 字母大小写转换
str7 = 'abCdEfG'
print(str7.upper())              #将小写字母转化为大写字母
print(str7.lower())              #将大写字母转化为小写字母
# 例题:不分大小写验证会员名是否唯一
username_1 = '|MingRi|mingrisoft|Bat|'
username_2 = username_1.lower()
regname_1 = input('请输入要注册的名字')
regname_2 = '|'+regname_1+'|'
if regname_2 in username_2:
    print(regname_1,'已经被注册,请重新注册')
else:
    print(regname_1+',恭喜您,注册成功')

# 5.7 去除空格和特殊字符
str8_1 = ' @小菜鸡 @小菜鸟 '
print(str8_1.strip('@'))       #srtip中可以设置多个字符,若不设置字符,默认去除左右的空格、制表符和回车、换行
print(str8_1.strip())          #去除左右的空格和特殊字符
print(str8_1.lstrip())         #去除左侧空格和特殊字符
print(str8_1.rstrip())         #去除右侧空格和特殊字符

# 5.8 格式化字符串
#使用%占位符
template = '编号:%09d 公司名称: %s 官网: http://www.%s.com'
context1 = (7,'百度','baidu')
context2 = (8,'微软','mingrisoft')
print(template%context1)
print(template%context2)
#使用format()方法
# str.format(args)
# {[index][:[[fill]align][sign][#][width][.precision][type]]}
# index 表示设置格式对象在参数列表中的索引位置
# fill 指定空白处的填充字符
# align 指定对齐方式 >表示右对齐;<表示左对齐;=表示内容右对齐,符号放在左侧且只对数字类型有效;^表示内容居中,配合width使用
# sign 指定有无符号数
# #对于二进制、八进制、十六进制会显示前缀
# width 指定所占宽度
# .precision 指定保留小数位数
# type指定类型

template = '编号:{:0>9}  公司名称:{:s}  官网: http://www.{:s}.com'
context3 = template.format(7,'百度','baidu')
context4 = template.format(8,'微软','mingrisoft')

print(context3,'context3')
print(context4,'context4')


# 5.9 字符串编码转换
#encode()编码  将字符串转化为二进制
#str.encode([encoding = "utf-8"][,errors = "strict"])
verse = "小菜鸡要加油"
verse_change = verse.encode('GBK')   #可选参数为gb2312(简体中文),默认utf-8
print('原字符:',verse)
print('转换字符:',verse_change)

#decode()解码
#bytes.decode([encoding="utf-8"][,errors="strict"])
print("解码:",verse_change.decode("gb2312"))

原文地址:https://www.cnblogs.com/lelezuimei/p/11789283.html