一、基本用法
Python的format函数可以方便地进行字符串格式化。具体用法是:将需要格式化的变量插入字符串中作为占位符,在字符串后面调用format函数,并将需要替换的值作为函数参数传入。例如:
x = 10 y = 5 result = "x的值为{},y的值为{},它们的和为{}".format(x, y, (x+y)) print(result)
运行结果为:x的值为10,y的值为5,它们的和为15
除了用大括号作为占位符,还可以使用参数的数字编号,例如:
name = "张三" age = 25 result = "我叫{name},今年{1}岁。".format(name=name, age=age) print(result)
运行结果为:我叫张三,今年25岁。
二、格式化参数
format函数可以根据不同类型的变量进行格式化,例如:
1. 字符串
name = "小明" result = "我的名字是{:s}".format(name) print(result)
运行结果为:我的名字是小明
2. 整数
amount = 1000 result = "我的存款有{:d}元".format(amount) print(result)
运行结果为:我的存款有1000元
3. 浮点数
percent = 0.75 result = "通过率为{:.2f}%".format(percent*100) print(result)
运行结果为:通过率为75.00%
4. 八进制、十六进制、二进制
num = 16 result1 = "十六进制表示为{:x}".format(num) result2 = "八进制表示为{:o}".format(num) result3 = "二进制表示为{:b}".format(num) print(result1, result2, result3)
运行结果为:十六进制表示为10 八进制表示为20 二进制表示为10000
三、对齐和填充
1. 对齐
txt = "Hello World" result1 = "{:^20}".format(txt) # 居中对齐,总宽度为20 result2 = "{:20}".format(txt) # 右对齐,总宽度为20 print(result1, result2, result3)
运行结果为: Hello World Hello World Hello World
2. 填充
txt = "Hello World" result1 = "{:*^20}".format(txt) # 用*字符居中对齐,总宽度为20 result2 = "{:#<20}".format(txt) # 用#字符左对齐,总宽度为20 result3 = "{:-^20}".format(txt) # 用-字符居中对齐,总宽度为20 print(result1, result2, result3)
运行结果为:***Hello World****Hello World###########Hello World----
四、{}转义
如果需要在字符串中插入花括号,在花括号前添加一个花括号即可进行转义,例如:
txt = "Hello {{" # 在第一个花括号前添加一个花括号进行转义 result = "{:s}, World!".format(txt) print(result)
运行结果为:Hello {, World!
五、自定义类的格式化
通过在类中实现__format__方法,可以自定义类的格式化方式。
class Person: def __init__(self, name, age): self.name = name self.age = age def __format__(self, format_spec): if format_spec == "short": return "{0}".format(self.name) elif format_spec == "long": return "Name: {0}, Age: {1}".format(self.name, self.age) p1 = Person("张三", 25) print("我的名字是{:short}".format(p1)) print("具体信息为{:long}".format(p1))
运行结果为:我的名字是张三
具体信息为Name: 张三, Age: 25
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/242997.html