5
我在想,是否推薦/ Pythonic在Python腳本中定義和使用自定義雙下劃線變量/函數?例如,在SQLAlchemy中使用的__tablename__
或__validateitem__()
(在應用__setitem__()
之前驗證項目的自定義函數)。如果它確實定義了魔術發生了,或者確實以特殊的方式使用了特定的變量/函數(比如上面的兩個例子),我覺得使用它們是個好主意。如何推薦在Python中使用自定義雙下劃線變量?
我對使用這種命名的最佳編碼實踐和潛在風險的爭論感興趣。
這是因爲它會誤導用戶認爲它是一個標準的定義名稱嗎?還是這是因爲它意味着未來的發展,任何時候都可以在標準庫中實現具有該名稱的變量?在某些情況下,這些名字是用來強調這些名稱的,這就是「魔術」。 – linkyndy
用戶定義__是私人標記。由於python被解釋,沒有真正的私人var /方法。只使用一個下劃線標記你的變量是「小心」。__vars的訪問速度比平常慢,所以你沒有理由使用它。 – cox
什麼支持程序員不應該創造這樣一個名字的解釋?我的問題是,程序員在這裏爲程序員寫apis。哪一個是你自己的程序員? – n611x007