2017-10-19 77 views
1

提前警告!一個Python新手,前面提到了一個相當被遺棄的問題!Python格式速記。格式

有沒有辦法來速記:

"{} blabla ... {}".format(x, y) 

成類似:

"{} blabla ... {}" % (x, y) 

使用操作符重載的語法或以其他方式?

不是在談論歷時類型%的舊風格的字符串格式化...

+3

有一種舊式格式,它使用'%'運算符,但它比使用'.format'方法要少得多。還有新的(Python 3.6)f字符串。 –

+0

更新問題... – rubmz

+0

閱讀此:https://pyformat.info/ –

回答

2

使用此在Python 3.6或以上:

f"{x} blabla ... {y}" 
0

你可以做到這一點。但強烈建議不要這樣做。

fmt = str.format 
print fmt("{} blabla ... {}", x, y) 

fmt這裏只是一個例子。

如果你打算這樣做,你可以給你喜歡的任何名字,但要確保你不覆蓋任何現有的變量/函數名稱。

+2

這比你想象的要糟糕。 '_'是'gettext'模塊用於本地化字符串的函數的常規名稱。 – chepner

+0

是的。我正在編輯它。 – anupsabraham

+0

(或者,我想,人們通常將'_'定義爲'gettext.gettext',所以不會有自動衝突。) – chepner