Python中的類默認都是繼承自object類,而且這個特點只出現在Python 2中,Python 3中所有的類都會默認繼承自object類。
# Python 2中定義類時不指定父類 class MyClass: pass # Python 2中查看MyClass的父類 print(MyClass.__bases__) # 輸出結果為:(,) # Python 3中定義類時不指定父類 class MyClass: pass # Python 3中查看MyClass的父類 print(MyClass.__bases__) # 輸出結果為:( ,)
從上面的代碼可以看出,在Python 2中定義類時不指定父類,默認會繼承自object類。而在Python 3中,也默認繼承自object類。實際上,在Python 3中,即使明確指定了父類,也可以省略不寫,效果跟默認繼承自object類相同。
需要注意的是,在Python 2中,不繼承自object類可能會導致某些Python內置函數和第三方庫函數的使用出現問題。而在Python 3中,這個問題已經被解決,完全可以省略不寫父類。