最近,我發現''.format
函數非常有用,因爲它比起%
格式可以提高很多可讀性。 努力實現簡單的字符串格式:如我所料python的「.format」函數
data = {'year':2012, 'month':'april', 'location': 'q2dm1'}
year = 2012
month = 'april'
location = 'q2dm1'
a = "year: {year}, month: {month}, location: {location}"
print a.format(data)
print a.format(year=year, month=month, location=location)
print a.format(year, month, location)
雖然兩個第一印DO方式(是的,something=something
長相醜陋,但是這只是一個例子),最後一個將提高KeyError: 'year'
。 python有沒有什麼竅門可以創建字典,所以它會自動填充鍵和值,例如somefunc(year, month, location)
會輸出{'year':year, 'month': month, 'location': location}
?
我很新的python,並找不到任何有關此主題的信息,但是這樣的技巧將大大改善和縮小我的當前代碼。
提前致謝,請原諒我的英語。
似乎沒有辦法縮小這個重複的代碼:)功能是好的,這是我做的,實際上,但後來我發現很難維持,因爲與我需要在很多地方修改代碼,結果甚至比實際用手製造字典更糟。 – 2012-04-15 08:09:03
@duke_nukem是的這取決於你的實際使用情況。代碼很好,格式API足夠清晰。如果你要做什麼像'format(* args,** kwargs)',它也可以完成,但我認爲它不會讓事情變得簡單。 – okm 2012-04-15 08:15:42