2011-01-08 16 views
3

Pythonでは、私たちがクラスobjectから作成したクラスを継承することをお勧めします。どうしてそれを直接ベースクラスにしないのですか? 私が気づいた重要なことは、クラスobjectのサブクラスとしてクラスを基本クラスにすると、宣言__slots__は機能しません。 クラスobjectからクラスを継承することによって他にどのような長所や短所がありますか?古いスタイルのクラスを参照してください持っているあなたはそれなしで、新しいスタイルのクラスを作成したオブジェクトから継承するクラス 'オブジェクト'から作成したクラスを継承するのはなぜよいのでしょうか?

+0

これは重複しているわけではありませんが、http://stackoverflow.com/questions/54867/old-style-and-new-style-classes-in-pythonを参照してください。 –

+0

[python class inherits object]の複製が可能です。(0120-18751) – hop

+0

"python inherit from object"を検索すると簡単に見つけることができます – hop

答えて

6

ためhttp://www.python.org/doc/newstyle/を、あなたは"new-style" classを作成するためにオブジェクトから継承しなければなりません。記述子のようなもの、super__slots__は "古いスタイル"のクラスでは正しく動作しませんが、古いスタイルのクラスは下位互換性のために残っています。

Python3では、すべてのクラスが新しいスタイルのクラスであるため、objectから継承する必要はなくなりました。

関連する問題