格式化字符串
比如要给特定的人发短信
list=["小明","小红","小蓝"]
time="2022"
for name in list:
message=name+"""你好,
你在"""+time+"""
已度过了一半时间"""
print(message)
不觉得过程过于复杂,和难以理解吗
所以可以格式化字符串,来更加简洁明了
1.format方法
format() 圆括号
list=["小明","小红","小蓝"]
time="2022"
for name in list:
messag="""{0}你好,
你在{1}
已度过了一半时间""".format(name,time) #{0}代表format的第一个关键字,{1}代表第二个
print(message)
list=["小明","小红","小蓝"]
time="2022"
for name in list:
messag="""{name}你好,
你在{year}
已度过了一半时间""".format(time=time,name=name) #还可以通过关键字指代来替换对象,这样就不用在意位置顺序,前面的是关键字,后面是给的值
print(message)
format还可以在关键字中赋值
#.format(time="2022",name="小明")
2.f-字符串
加一个f在字符串前
list=["小明","小红","小蓝"]
time="2022"
for name in list:
message=f"""{name}你好,
你在{time}
已度过了一半时间"""
print(message)
数字也能格式化
gpa_dict={"小明":3.25,"小红":3.5,"小蓝":3.7}
for name,gpa in gpa_dict.items:
print("{0},你的绩点为{1}".format(name,gpa))
#好处是gpa不用转化为字符串然后连接到后面
#print("{0},你的绩点为{1:.2f}".format(name,gpa))
# :.2f可以输出到gpa小数点后两位
字符串的输出
str=“shanghai”
print(str[0:len[str]]:2) 从第1个字符到最后一个字符,隔一个字符进行输出
格式:str[x:y:c] 其中x代表初进值,y是结束值,c是步进值
字符串的拼接
str=“shanghai”
print(str+“,你好”)
输出结果为 shanghai,你好
字符串也可以连续打印
print(str*3)
输出结果为 shanghaishanghaishanghai
r的使用,取消转义字符
print(r"hello\nchengdu")
字符串前面有个r,里面的转义字符就失去作用了,会复制整段字符串包括转义字符,不进行转义
字符串常用函数
解码
bytes.decode(encoding=“utf-8”,errors=“strict”)解码给定的bytes对象,使它转化为utf-8
encode(encoding=‘UTF-8’,errors=‘strict’)
isalnum() 如果字符串至少有一个字符并且所有字符都是字母或者数字则返回True,否则返回False
isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
isdigit()如果字符串只包含数字则返回True,否则返回False
isnumeric() 如果字符串只包含数字字符,则返回True,否则返回False
用法:
name="helloworld"
print(name.isalnum())
join(seq) 以指定字符串(seq)作为分隔符,将seq中所有的元素(的字符串表示)合并成一个新的字符串
split(str=“”,num=string.counts(str)) num=string.count(str)),以str为分隔符截取字符串,如果num有指定值,则仅截取num+1个字符串
len(str) 返回字符串长度
lstrip()截掉字符串左边的空格或指定字符
rstrip() 删除字符串末尾的空格