Python-字符串格式化

python字符串格式化

  • 字符串的格式化
    • 使用f字符串
    • 使用format
    • 使用%运算符

字符串的格式化

在python3中有三种格式化方式

1.使用占位符格式化 2.使用format格式化 3.使用f-String 格式化

使用f字符串

允许在字符串中嵌入Python表达式,并在字符串中使用变量名。要创建一个f字符串,请在字符串前面添加“f”并在字符串中使用花括号来引用变量名或表达式。

name = "sctl"
age = 8
str1 = 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 = 8
str1 = 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 = 30
print("二进制表示:%x"%num1)
print("%.2f"%5.41324)										#保留小数点后两位
print("%.3f%%"%(0.222578*100))     							#保留小数点后三位
------------------------------------------------------------------------------------------
二进制表示:1e
5.41
22.258%

你可能感兴趣的:(Python,python,开发语言)