ホームページ > バックエンド開発 > Python チュートリアル > Python の古いスタイルのクラスと新しいスタイルのクラス: 違いは何ですか?

Python の古いスタイルのクラスと新しいスタイルのクラス: 違いは何ですか?

Susan Sarandon
リリース: 2024-12-18 22:07:10
オリジナル
174 人が閲覧しました

Old-Style vs. New-Style Classes in Python: What's the Difference?

Python の新しいスタイルのクラスと古いスタイルのクラス

Python ではバージョン 2.1 までは古いスタイルのクラスが普及していましたが、新しいスタイルのクラスは-style クラスは Python 2.2 で導入されました。この 2 つの主な違いは、型とクラスの概念にあります。

古いスタイルのクラス:

古いスタイルのクラスは、型とクラスの概念に直接リンクされていません。種類。古いスタイルのクラスのインスタンスはすべて、「インスタンス」と呼ばれる単一の組み込み型を使用して実装されます。これは、x.__class__ と type(x) が古いスタイルのクラス インスタンスに対して常に同じ値を返すとは限らないことを意味します。

新しいスタイルのクラス:

新規一方、 -style クラスは、クラスと型の概念を統合します。新しいスタイルのクラスはユーザー定義の型を定義し、新しいスタイルのクラスのインスタンスはその型のオブジェクトとして扱われます。通常、type(x) と x.__class__ は、オーバーライドされない限り、新しいスタイルのクラス インスタンスに対して同じ値を返します。

新しいスタイル クラスの主な違いと利点:

  • 完全なメタモデルを備えた統合オブジェクト モデル。
  • 次の機能ほとんどの組み込み型をサブクラス化します。
  • 計算プロパティの「記述子」の導入。
  • 継承シナリオでのより一貫性のある直感的な動作。

古いスタイルのクラスと新しいスタイルのクラスを使用するには:

下位互換性の理由から、クラスPython 2.x ではデフォルトで古いスタイルになっています。新しいスタイルのクラスを作成するには、新しいスタイルのクラスを親クラスとして明示的に指定します。

Python 3 では、すべてのクラスが新しいスタイルです。したがって、2 つのスタイルを区別する必要はありません。

以上がPython の古いスタイルのクラスと新しいスタイルのクラス: 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート