在Python中,字符串格式化是一种非常方便的方式来创建自定义的字符串。Python提供了几种不同的字符串格式化方法,其中最常见的是使用 {}
占位符和使用 str.format()
方法。
使用方法:
<模板字符串>.format(<逗号分隔的参数>)
其中,模板字符串的内部格式如下:
{<参数序号>:<格式控制标记>}
在编程中,参数序号通常是指函数或方法中参数的顺序。在调用函数或方法时,参数的顺序是按照它们在函数或方法定义中出现的顺序来传递的
def add(a, b):
return a + b
在这个例子中,参数a和b的顺序是固定的,它们的顺序决定了在调用函数时参数的顺序。调用该函数时,需要按照这个顺序传递参数
其中,格式控制标记分为 :<填充>、<对齐>、<宽度>、<,>、<.精度>、<类型>
设定的字符串宽度(如果参数实际长度比设定值大,则使用参数实际长度)
默认为左对齐,多余位数默认以空格字符补充
s = 'python'
print(f"{s:30}")
这段代码会打印出"python"这个字符串,后面跟着30个空格。但是后面的30个空格我们看不见,所以要改进以下
s = 'python'
print(f"{s:30}"+"666")
#python 666
右对齐:
s = 'python'
print(f"{s:>30}"+"666")
# python666
左对齐:
s = 'python'
print(f"{s:<30}"+"666")
#python 666
居中对齐:
s = 'python'
print(f"{s:^30}"+"666")
# python 666
居中对齐,两侧填充:
s = 'python'
print(f"{s:7^30}"+"666")
#777777777777python777777777777666
左侧对齐,右侧填充:
s = 'python'
print(f"{s:7<30}"+"666")
#python777777777777777777777777666
右侧对齐,左侧填充:
s = 'python'
print(f"{s:7>30}"+"666")
#777777777777777777777777python666
<,>分割
s = 123456789
print(f"{s:>30,}")
# 123,456,789
<.精度>表示2个含义:
s = 123456789.123456
print(f"{s:.2f}")
#123456789.12
s = 123456789
print(f"{s:.5f}")
#123456789.00000
b:整数对应的二进制
c:整数对应的Unicode字符
d:整数的十进制
o:整数的八进制
x:整数的小写十六进制
X:整数的小写十六进制
e、E:指数类型
f:浮点数的标准浮点类型
%:浮点数的百分形式
%会四舍五入
s = 99.9999
print(f"{s:.2f}")
# 输出:100.00
name = "Alice"
age = 25
print("My name is {} and I am {} years old.".format(name, age))
name = "Alice"
age = 25.5566
print("My name is {} and I am {:.2f} years old.".format(name, age))
#My name is Alice and I am 25.56 years old.
一定记得加:
格式控制标记一定要按顺序写!!!