python format 方法學習筆記(1)

2021-10-03 00:15:09 字數 2800 閱讀 2864

三種寫法:

花括號內省略欄位名,傳遞位置引數

# 省略欄位名傳遞位置引數

print('我叫{},今年{}歲。'.format('小明', 18))

"""我叫小明,今年18歲。

"""# 花括號個數可以少於位置引數的個數

print('我愛吃{}和{}。'.format('香蕉', '蘋果', '大鴨梨'))

"""我愛吃香蕉和蘋果。

"""# 花括號個數多於位置引數的個數則會報錯

# print('我還吃{}和{}。'.format('西紅柿'))

"""indexerror: tuple index out of range

"""

以數字形式的欄位名傳遞位置引數

# 通過數字形式的簡單欄位名傳遞位置引數

print('身高,家住。'.format(1.8, '銅鑼灣'))

"""身高1.8,家住銅鑼灣

"""# 數字形式的簡單欄位名可以重複使用。

print('我愛。\n她今年。\n也愛我。'.format('阿香', 17))

"""我愛阿香。

她今年17。

阿香也愛我。

"""# 體會把所有位置引數整體當成元組來取值

print('阿香愛吃、和。'.format(

'榴蓮', '臭豆腐', '皮蛋', '鯡魚罐頭', '螺獅粉'))

"""阿香愛吃臭豆腐、鯡魚罐頭和榴蓮。

"""# 嘗試一下越界錯誤

# print(''.format('錯誤用法'))

"""indexerror: tuple index out of range

"""

# 使用變數名形式的簡單欄位名傳遞關鍵字引數

print('我大哥是,今年歲。'.format(name='阿飛', age=20))

"""我大哥是阿飛,今年20歲。

"""# 關鍵字引數的順序可以隨意調換

print('我大哥是,今年歲。'.format(age=20, name='阿飛'))

"""我大哥是阿飛,今年20歲。

"""

# 混合使用數字形式和變數名形式的欄位名

# 可以同時傳遞位置引數和關鍵字引數

print('這是乙個關於、和的故事。'.format(

'小明', '阿飛', girl='阿香'))

"""這是乙個關於小明、阿飛和阿香的故事。

"""# 但是關鍵字引數必須位於位置引數之後

# print('這是乙個關於、和的故事。'.format(

# '小明', girl='阿香' , '阿飛'))

"""syntaxerror: positional argument follows keyword argument

"""# 數字也可以省略

print('這是乙個關於{}、{}和的故事。'.format(

'小明', '阿飛', girl='阿香'))

'''這是乙個關於小明、阿飛和阿香的故事。

'''# 但是省略欄位名不能和數字形式的欄位名同時出現

# print('這是乙個關於{}、和的故事。'.format(

# '小明', '阿飛', girl='阿香'))

"""valueerror: cannot switch from automatic field numbering to manual field specification

"""

str.format()方法還可以使用*元組**字典的形式傳參,兩者可以混合使用。

位置引數、關鍵字引數、*元組**字典也可以同時使用,但是要注意,位置引數要在關鍵字引數前面,*元組要在**字典前面。

# 使用元組傳參

infos = '鋼鐵俠', 66, '小辣椒'

print('我是{},身價{}億。'.format(*infos))

"""我是鋼鐵俠,身家66億。

"""print('我是,身價億。'.format(*infos))

"""我是小辣椒,身家66億。

"""# 使用字典傳參

venom =

print('我是,我怕。'.format(**venom))

"""我是毒液,我怕火。

"""# 同時使用元組和字典傳參

hulk = '綠巨人', '拳頭'

captain =

print('我是{}, 我怕。'.format(*hulk, **captain))

print('我是, 我怕。'.format(*hulk, **captain))

"""我是綠巨人, 我怕盾。

我是美國隊長, 我怕拳頭。

"""# 同時使用位置引數、元組、關鍵字引數、字典傳參

# 注意:

# 位置引數要在關鍵字引數前面

# *元組要在**字典前面

tup = '鷹眼',

dic =

text = '我是,我怕。我是,我用。'

text = text.format(

*tup, '黑寡婦', weakness='男人', **dic)

print(text)

"""我是黑寡婦,我怕男人。我是鷹眼,我用箭。

"""

Python format函式詳解

python從2.6開始支援format,新的更加容易讀懂的字串格式化方法,從原來的 模式變成新的可讀性更強的 花括號宣告 用於渲染前的引數引用宣告,花括號裡可以用數字代表引用引數的序號,或者 變數名直接引用。從format引數引入的變數名 冒號 字元位數宣告 空白自動填補符 的宣告 千分位的宣告 ...

python format格式輸出

內容摘自 相對基本格式化輸出採用 的方法,format 功能更強大,該函式把字串當成乙個模板,通過傳入的引數進行格式化,並且使用大括號 作為特殊字元代替 1 不帶編號,即 2 帶數字編號,可調換順序,即 3 帶關鍵字,即 1 print format hello world 不帶字段 2 hello...

python format 用法詳解

str.format 這個特性從python2.6而來 其實實現的效果和 有些類似 不過有些地方更方便 通過位置對映 in 1 format kzc 18 out 1 kzc,18 in 2 format kzc 18 注意python2.6並不支援寫為空 out 2 kzc,18 in 3 for...