字符串格式化
通过占位符拼接字符串
- .format (推荐)
- %s
- f
message = "学会{0}开发就能创造美好生活".format("python")
message1 = "学会{0}开发就能创造美好生活{0}"
message2 = "学会{}开发就能创造美好生活{}".format("python","python")
print(message)
print(message1.format("python"))
print(message2)
#以位置的占位符从0开始,{}不写默认就是0开始类推,位置可以复用
message = "学会{name}开发就能创造美好生活".format(name="python")
print(message)
#以名称为占位符,用法类似位置占位符
字符串首尾匹配
通过匹配首尾字符串,返回布偶值
- .startswith
- .endswith
message = "学会python开发就能创造美好生活"
reault = message.startswith("学")
print(reault)
#行首匹配
message1 = "学会python开发就能创造美好生活"
reault1 = message1.endswith("生活")
print(reault1)
#行位匹配
判断字符串是不是整型
判断字符串是不是整型,返回布偶值
- .isdecimal (推荐)
- .isdigit (不准确)
message = "123"
message1 = "1abc"
message2 = "①"
print(message.isdecimal())
print(message1.isdecimal())
#区别,isdigit不是很准确判断
print(message2.isdigit())
print(message2.isdecimal())
去除字符串2边的空格、制表符、换行符
去除字符串2边的空格、制表符、换行符(默认)但是要可以自定义去除需要的,最终获取到新的值
- .strip :匹配2边
- lstrip :匹配左边
- rstrip :匹配右边
message = " 学会python "
#添加了制表符(tab)和空格
message1 = "开发就能创造美好生活"
print(message)
print(message.strip())
print(message1.rstrip("生活"))
字符串转换大小写
转换字符串的大小写,得到新的值
- .upper :大写
- .lower :小写
message = "abc123"
message1 = "ABC123"
print(message.upper())
print(message1.lower())
字符串内容替换
替换字符串内容,生成新的值
- .replace
message = "学号开发就能创造美好生活贱"
print(message.replace("学号","学好"))
#正常替换字符串
print(message.replace("贱",""))
#过滤不要的值,替换成空字符串
字符串切割
对字符串切割,得到一个列表
- .split :从左开始切割
- .rsplit :从右开始切割
message = "/dev/vda1 100G 3.1G 97G 4% /"
#添加了空格,制表符
message1 = "/dev/ vda1| 100G|3.1G|97G|4%|/"
print(message.split())
#默认切割符不写就是包含空格,制表符
print(message1.split("|"))
#指定制表符,空格和制表符都会被体现出来
print(message1.split("|",2))
#可以指定切割第几个,后面的就内容不切割
字符串拼接
通过指定拼接符拼接字符串,得到一个新值
- 拼接符.join :跟切割相反
- + :最常见的拼接
- 字符串格式化
message = ["美好","生活"]
print("".join(message))
print("-".join(message))
#只能传递一个参数
字符串编码转换
通过把字符串转换成utf-8字节类型
unicode :默认中文占用2个字节
缺点:存在浪费大量bit位,增加了存储的成本
utf-8 :默认中文占用3个字节
针对 unicode进行了优化,减少不必要的bit位
- .encode :字符串转换成字节类型
- .decode :字节类型转成字符串
message = "美好"
v1 = message.encode("gbk")
v2 = message.encode("utf-8")
print(v2)
#utf-8的编码
print(v2.decode("gbk"))
#utf-8转换成gbk乱码
print(v2.decode("utf-8"))
字符串居中、靠左、靠右
对字符串进行居中、靠左、靠右,并进行填充其他的部分
- .center(位数,填充符号):居中
- .ljust(位数,填充符号):居左
- .ljust(位数,填充符号):居右
message = "摘要"
print(message.center(20,"-"))
print(message.ljust(20,"-"))
print(message.rjust(20,"-"))
帮助填充0
常见是处理二进制数据填充0
- .zfill(位数)
bit = "110"
print(bit.zfill(8))
#填充成一个字节的8位bit
字符串本身操作
v1 = "python"
v2 = "开发"
# +
print( v1+v2 )
#字符串拼接
# *
print(v2*3)
#打印倍数
# len
print(len(v1))
#字符串长度,跟编码无关
# 根据索引获取字符串
print(v1[0])
print(v2[1])
print(v1[-1]) #从右到左,第一个索引1
#获取字符串的索引,从0开始,不支持修改原字符串,具有原子性
#根据范围索引和步长获取字符串
print(v1[0:2:2])
#0-2索引,步长为2的字符串
print(v1[0::2])
#0-最后索引,步长为2的字符串
print(v1[-1:1:-1])
#-1代表前面的索引范围顺序相反,1不取,取值也相反
print(v2[::-1])
#取反
python开发
开发开发开发
6
p
发
n
p
pto
noht
发开