二、format 格式化
1.format()
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
# 通过变量设置参数
print("My name is {name},and I am {age} years old!".format(name = "zhangsan",age = "25"))
# 通过字典设置参数
info = {"name": "zhangsan", "age": "25"}
print("My name is {name},and I am {age} years old!".format(**info))
# 通过列表索引设置参数
msg = ["zhangsan","25"]
print("My name is {0[0]},and I am {0[1]} years old!".format(msg))
---> My name is zhangsan,and I am 25 years old!
---> My name is zhangsan,and I am 25 years old!
---> My name is zhangsan,and I am 25 years old!
str.format() 格式化数字
^, <, >
分别是居中、左对齐、右对齐,后面带宽度,:
号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
+
表示在正数前显示+
,负数前显示-
; (空格)表示在正数前加空格
>>> print("{:.2f}".format(3.1415926));
3.1415926
{:.2f}
保留小数点后两位
3.1415926
{:+.2f}
+3.14
带符号保留小数点后两位
{:+.2f}
-1.00
带符号保留小数点后两位
2.71828
{:.0f}
{:0>2d}
数字补零 (填充左边, 宽度为2)
{:x<4d}
数字补x (填充右边, 宽度为4)
{:x<4d}
数字补x (填充右边, 宽度为4)
1000000
1,000,000
以逗号分隔的数字格式
{:.2%}
25.00%
百分比格式
1000000000
{:.2e}
1.00e+09
{:>10d}
右对齐 (默认, 宽度为10)
{:<10d}
左对齐 (宽度为10)
{:^10d}
中间对齐 (宽度为10)
注意:可以使用大括号 {} 来转义大括号
print ("{}今年{{25}}岁了".format("张三"))
2.format_map()
参数为字典
print("I am {name},and I am {age} years old!".format_map({"name":"zhangsan","age":25}))
---> I am zhangsan,and I am 25 years old!