一、基本用法
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/zh-tw/n/242997.html