Python中有一種格式化字符串的方法叫做百分號格式化(%格式化),它可以方便地向字符串中插入變量,類似于C語言中的printf()函數(shù)。
%格式化的語法很簡單,就是在字符串中使用百分號(%)作為占位符,然后再在字符串末尾使用%運算符將占位符和變量值對應起來。
# 一個簡單的例子 name = "Bob" age = 27 print("My name is %s, and I am %d years old." % (name, age)) # 輸出:My name is Bob, and I am 27 years old.
上面的例子中,我們定義了兩個變量name和age,然后在字符串中使用%s和%d作為占位符,表示字符串和整數(shù)類型的變量,最后使用%運算符將占位符和實際變量值對應起來。
%格式化支持多種類型的占位符,包括字符串(%s)、整數(shù)(%d)、浮點數(shù)(%f)、布爾值(%s)、日期(%x和%X)、字典(%s)、元組(%s)等等。
除了使用占位符和%運算符,我們還可以使用關(guān)鍵字參數(shù)和字典參數(shù)來進行格式化。
# 使用關(guān)鍵字參數(shù) print("My name is %(name)s, and I am %(age)d years old." % {'name': 'Bob', 'age': 27}) # 輸出:My name is Bob, and I am 27 years old. # 使用字典參數(shù) person = {'name': 'Bob', 'age': 27} print("My name is %(name)s, and I am %(age)d years old." % person) # 輸出:My name is Bob, and I am 27 years old.
關(guān)鍵字參數(shù)和字典參數(shù)可以使語法更加簡潔,而且可以實現(xiàn)更加復雜的格式化需求,例如格式化一個HTML模板。
總之,%格式化是Python中非常有用的一種字符串格式化方式,尤其適合快速地生成字符串,并且具有非常強的可讀性和可擴展性。