注:所以代码皆成功运行,可直接复制运行
一、基本使用
1、Python中的format()函数是一个格式字符串的函数,通过花括号{}识别替换字段,从而完成字符串的格式化。
#format后面放数字、字符串都可以
print("{}喜欢{}岁的{}".format('小明',100,'小柒'))
#小明喜欢100岁的小柒
2、通过数字参数传入位置参数
print("{2}喜欢{1}岁的{0}".format('小明',100,'小柒'))
#小柒喜欢100岁的小明
print("{0}喜欢{1}岁的{0}".format('小明',100,'小柒'))
#小明喜欢100岁的小明
3、关键字传递
说明:format前后的关键字顺序都可以更换
print("{boy_name}喜欢{girl_name}".format(boy_name='小明',girl_name='小柒'))
#小明喜欢小柒
print("{girl_name}喜欢{girl_name}".format(boy_name='小明',girl_name='小柒'))
#小柒喜欢小柒
print("{boy_name}喜欢{girl_name}".format(girl_name='小柒',boy_name='小明'))
#小明喜欢小柒
4、关键字和数字混合使用
#关键字参数必须位于位置参数之后
print("{0}喜欢{1}岁的{girl_name}".format('小明',100,girl_name='小柒'))
#小明喜欢100岁的小柒
#数字可以省略,但省略字段名{}不能和数字形式的字段名同时使用,否则会报错
print("{}喜欢{}岁的{girl_name}".format('小明',100,girl_name='小柒'))
#小明喜欢100岁的小柒
二、进阶使用
1、使用列表、元组、字典、类传参
1.1 列表传参
name_list = ["小明", "小柒"]
print("{}喜欢{}".format(*name_list))
#小明喜欢小柒
print("{0}喜欢{1}".format(*name_list))
#小明喜欢小柒
1.2 列表传参
注意:列表和元组很像,区别就是元组一旦创建其长度便固定了,而列表可以改表
name_list = ("小明", "小柒")
print("{}喜欢{}".format(*name_list))
#小明喜欢小柒
print("{0}喜欢{1}".format(*name_list))
#小明喜欢小柒
1.3 字典传参
name_dir = {
"boy_name":"小明",
"girl_name":"小柒"
}
print("{boy_name}喜欢{girl_name}".format(**name_dir))
#小明喜欢小柒
1.4 类传参
#类
class Name:
def __init__(self,boy_name,girl_name):
self.boy_name=boy_name
self.girl_name=girl_name
#实例化对象
name=Name("小明","小柒")
print("{0.boy_name}喜欢{0.girl_name}".format(name))
#小明喜欢小柒
# #当只有一个字段的时候,就可以省略数字
print("我是{.boy_name}".format(name))
#我是小明
其他调用方法
print("{name.boy_name}喜欢{name.girl_name}".format(name=name))
#小明喜欢小柒
print("{name1.boy_name}喜欢{name1.girl_name}".format(name1=name))
#小明喜欢小柒
2、字符串对齐和其他格式化方法
2.1字符串对齐
print("{:>10}".format(1))#宽度为10,右对齐
print("{:>10}".format(11))
print("{:>10}".format(111))
print("{:>10}".format(1111))
结果如下:
2.2 保留x位小数
print("{:.1f}".format(3.14))
#3.1
print("{:+.0f}".format(3.14))#不带小数
#+3
print("{:+.4f}".format(3.14))#“+”带符号
#+3.1400
print("{:+.2f}".format(-1))
#-1.00
2.3 其他的可以参考图片
参考文章:Python的format用法详解(逻辑不错,但里面的很多代码都是有问题的)