python字符串格式化
字符串的格式化
在python3中有三种格式化方式
使用占位符格式化 2.使用format格式化 3.使用f-String 格式化
使用f字符串
允许在字符串中嵌入Python表达式,并在字符串中使用变量名。要创建一个f字符串,请在字符串前面添加“f”并在字符串中使用花括号来引用变量名或表达式。
name = "sctl"age = 8str1 = f"my name is {name},my age is {age + 2}"------------------------------------------------------my name is sctl,my age is 10
需要注意的是:在Python 3.8及更高版本中,还可以使用f字符串的新格式化语法(“=`”),它允许在字符串中指定对齐和填充等格式化选项
name = "sctl"age = 8str1 = f"my name is {name:>10},my age is {age:03d}"print(str1)---------------------------------------------------------my name is sctl,my age is 008
{name:>10}
指定将名称放在10个字符宽度的字段中,并向右对齐。{age:03d}
指定将年龄放在3个字符宽度的字段中,如果年龄宽度不足三个字符会使用前导零进行填充,宽度等于或大于三个原样输出
使用format
使用.format()方法。在这种方法中,您可以使用花括号{}来占位符,并使用.format()方法将值传递给这些占位符。
name = input("please input your name:")school = input("please input your school:")format_str1 = "my name is {},my school is {}".format(name,school)#使用序号占位符,默认方向从左到右依次增大format_str2 = "my name is {1},my school is {0}".format(name,school)#使用序号站位符,指定序号,这样可以不必按序了,更加灵活format_str3 = "my name is {user},my school is {sch}".format(user=name,sch=school)#使用名称占位符print(f"format_str1:{format_str1}\t format_str2:{format_str2}\t format_str3:{format_str3}")------------------------------------------------------------------------------------------------------------------------------please input your name:张三please input your school:爆爆联合家里蹲大学format_str1:my name is 张三,my school is 爆爆联合家里蹲大学 format_str2:my name is 爆爆联合家里蹲大学,my school is 张三 format_str3:my name is 张三,my school is 爆爆联合家里蹲大学
使用%运算符
标志位 控制输出格式
- %s – str
- %b --二进制
- %d --十进制
- %x --十六进制
- %o --八进制
- %f --浮点型表示,可以指定小数后面的精度,默认是小数点6位
- %.2f --保留两位
- %% --表示百分号本身
%s的使用
元组:是一个与列表类似的集合,不过由于元组是不可改变的,所以不能对元组完成排序,也不能追加和删除元素。 一旦用一组元素创建一个元组,它就会一直保持不变
name = input("please input your name")school = input("please input your school")stu_info = "my name is %s,my school is %s"%(name,school) 可以是元组print(stu_info)str1 = input("请输入一个数值") 也可以是单元素元组s_z = "这个数字是 %s"%(str1)print(s_z)
%x、 %f 的使用
num1 = 30print("二进制表示:%x"%num1)print("%.2f"%5.41324)#保留小数点后两位print("%.3f%%"%(0.222578*100)) #保留小数点后三位------------------------------------------------------------------------------------------二进制表示:1e5.4122.258%
来源地址:https://blog.csdn.net/qq_51010919/article/details/130256369