所以我剛剛學習python(我知道很多其他語言),我對某些東西感到困惑。我認爲這是由於缺少文檔(至少我能找到)。在一些網站,我讀過,你應該從object
派生類:從python中的`object`派生類
class Base(object):
pass
但我看不出有什麼,做或爲什麼或什麼時候你應該這樣做。有沒有官方文件,我錯過了?這是一個3.x功能嗎?
所以我剛剛學習python(我知道很多其他語言),我對某些東西感到困惑。我認爲這是由於缺少文檔(至少我能找到)。在一些網站,我讀過,你應該從object
派生類:從python中的`object`派生類
class Base(object):
pass
但我看不出有什麼,做或爲什麼或什麼時候你應該這樣做。有沒有官方文件,我錯過了?這是一個3.x功能嗎?
主要是它不無論你是否從對象繼承,都會產生影響,但是如果你不知道有什麼bug會在你忘記了你決定不打擾的時候趕上你。
一些微妙的事情就無法正常工作,如果你不最終從對象繼承:在經典類
get
作品還好,但set
做奇怪的事情。有些人可以繼續使用經典課程,除非他們需要新的行爲,其他人則說總是使用新式課程,以避免後來在腳下自我射擊。如果你正在從事單人項目的工作,對你有好處;如果其共享項目與其他開發者保持一致。
謝謝,這清理了很多。我希望這被記錄得更好 – Falmarri 2010-08-03 19:18:13
從這裏開始:http://www.python.org/doc/newstyle/
而且,閱讀本:http://docs.python.org/release/2.5.2/ref/node33.html
這是一個將不再版本需要的幾個Python 2的臨時解決方案,一個3
在Python 3中,類隱式擴展對象,不管你是否自己這麼說。
請參閱here。
我看了這裏http://docs.python.org/tutorial/classes.html – Falmarri 2010-08-02 01:09:09