次のような単純なクラスがあるとします。 リーリー
および次の例:リーリー
しかし、name と
id なので、モジュールのユーザーが
person コンストラクターを呼び出すことなく、これらの人々の複数のインスタンスを作成できるようにしたいと考えています。 1 つの場所でのみ宣言する必要があります。
copy または
deepcopy を使用します。これで必要な機能が提供されますが、
tom を使用するたびに、忘れずに彼のコピーを作成する必要があります。これはかさばりすぎます。
tom クラス
を作成します
tom が必要になるたびに
tom() を実行するだけで済むので、少しすっきりしますが、これには多くのコードを記述する必要があり、あまり効率的ではありません。ドライ。
リーリー
これで、person クラスをインポートして短いタグからインスタンスを作成できるようになり、実際のデータは 1 か所 (
person_registry ディクショナリ) に保存されます。冗長性を減らしたい場合は、次のこともできます。
位置引数を使用しますが、キーワード引数の方がより明示的であるため、多くの場合好まれます (Python の zen)。
person_registry 辞書を拡張できます。例:
リーリー
以上が同じクラスの同一のインスタンスを生成するための Python 構文糖衣?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。