字符串(str)
操作方法
字符串是不可变对象,所以任何操作对原字符串是不会有任何影响
首字母大写
s1 = "python" print(s1.capitalize())
全部转换为小写
s1 = "PYTHON" print(s1.lower())
全部转换为大写
s1 = "python" print(s1.upper())
大小写互相转换
s1 = "Python1" print(s1.swapcase())
特殊字符隔开首字母大写
s1 = "wsl by love" print(s1.title())
居中
s1 = "wsl" print(s1.center(5, "*")) # 拉长成5,把原字符串放中间,其余位置补*
去左右空格
s1 = " wsl " print(s1.strip())
去右边空格
s1 = " wsl " print(s1.rstrip())
字符串替换
# 默认替换全部 s1 = "wslwslwslwsl" print(s1.replace("wsl", "by")) # 指定替换次数 s1 = "wslwslwslwsl" print(s1.replace("wsl", "by", 2))
字符串切割
s1 = "wslwslwslwsl" print(s1.split("w")) # 如果切割符在左右两端,那么一定会出现空字符串 s1 = """ wsl wsl """ print(s1.split(" "))
格式化输出
s1 = "我叫%s, 今年%d , 我喜欢%s" % ("wsl", 18, "by") print(s1) s2 = "我叫{}, 今年{} , 我喜欢{}".format("wsl", 18, "by") print(s2) s3 = "我叫{0}, 今年{2} , 我喜欢{1}".format("wsl", 18, "by") print(s3) s4 = "我叫{name}, 今年{age} , 我喜欢{love}".format(name="wsl", age=18, love="by") print(s4)
查找
# 判断开头和结尾 s1 = "wslwslwslwsl" print(s1.startswith("wsl")) s1 = "wslwslwslwsl" print(s1.endswith("wsl")) # 字符出现的次数 s1 = "wslwslwslwsl" print(s1.count('w')) # 查找位置 s1 = "wslwslwslwsl" print(s1.find("wsl"))
字符串判断
# 是否由字母和数字组成 s1 = "123b" print(s1.isalnum()) # 是否由字母组成 s1 = "123b" print(s1.isalpha()) # 是否由数字组成,不包括小数点 s1 = "123b" print(s1.isdigit()) # 计算字符串的长度 len(s1) 字符串遍历 s1 = "wsl" for i in s1: print(i)
字符串的拼接
字符串只有 + *,字符串 + 就是拼接,* 就是重复字符串
first_name = "ada" last_name = "lovelace" full_name = first_name + " " + last_name message = "Hello, " + full_name.title() + "!" print(message) # Hello, Ada Lovelace! print("str" * 5) # strstrstrstrstr # 但是字符串不能和其他类型进行运算 print("Wshile" + 520) # TypeError: must be str, not int
制表符或换行符来添加空白
print("Languages: Python C JavaScript")
使用字符串时避免语法错误
message = "One of Pythen's strengths is its diverse community." print(message) message2 = 'One of Python's strengths is its diverse community.' print(message2)
切片和索引
s1 = "python最牛" print(s1[0]) print(s1[-1]) print(s1[0:3]) print(s1[1:]) print(s1[-5:-1]) print(s1[:]) 步长 s1 = "python最牛" print(s1[1::2])