2011-06-22 23 views
17

是否有關於關鍵字參數的蟒蛇命名約定什麼是Python約定** kwargs vs ** kwds vs ** kw?

+1

通常** kwargs,有時** kw。我從未見過** kwds –

+4

@gnibbler這裏有一個例子,其中Guido使用** kwds http://code.google.com/p/appengine-ndb-experiment/source/browse/ndb/model.py –

+1

現在我已經看過了。我仍然認爲這是最不符合常規的3,但是你知道,有一些我還沒有看到的Python代碼:) –

回答

12

沒有,但通常它被命名爲**kwargs,但你可以命名它任何你想要的。唯一的一點是它應該在最後的任何位置參數和命名參數。

7

約定爲**kwargs,如文檔和PEP所示。

+1

也有例外,例如:https://www.python.org/dev/peps/pep-0484使用'** kwds'而不是'** kwargs'。 – kadee

+0

還有一些例外:https://docs.python.org/3.6/library/multiprocessing.html – prokher

6

關鍵是一致性。在你的個人代碼和你正在工作的項目中。如果我正在閱讀您的代碼並在所有功能中使用**kwarguments,我可以自行校準以正確讀取它。如果你在一個地方使用**k,而在另一個地方使用**kargs,那就是另一回事了。

至於Python代碼中的慣例,我的經驗和Senthil的 - **kwargs一樣。

相關問題