metaclass

    2

    1答えて

    使いやすい抽象ファクトリを実装する際に問題があります。具体的な工場をこのように定義することができるように ゴール : class MyConcreteFactory(...): @classmethod def __load(cls, key): obj = ... # Loading instructions here return obj con

    6

    2答えて

    私は、どのようなメタクラスが大まかに考えています。それらはクラスオブジェクトが基づいているクラスです(クラスはPythonのオブジェクトなので)。しかし、誰かが(コードを使って)作成方法について説明することができます。

    8

    2答えて

    Pythonプロジェクトでロギング目的で使用しているメタクラスを書きました。すべてのクラスがすべてのアクティビティを自動的にログに記録します。唯一の問題は、私はすべてのファイルに移動して、を追加する必要がありますする必要はないということです:ようにトップレベルのフォルダ内のメタクラスを設定する方法はあり __metaclass__ = myMeta メタクラスの使用下にあるすべてのファイル?

    5

    1答えて

    一般化されたナチュラルキーモデルマネージャーの私の試みです。それはthe docsのようなものですが、Meta.unique_together属性から自然のキーフィールド名を決定しようとします(失敗した場合)。 class NaturalKeyModelManager(Manager): def get_by_natural_key(self, *args): field_

    2

    4答えて

    Pythonで作業すると、メタクラス(メタメソッド)が所有するメソッドを、インスタンス化したクラスを通してどのように取得できますか?次のシナリオでは、それは簡単です - ちょうどgetattrまたはドット表記を使用します。 *すべての例では、安全なバージョンを使用with_metaclass class A(type): class A(type): """a metacla

    9

    1答えて

    あなたはUMLのメタモデルで働いている場合は、あなたがpropably労働組合とのサブセットの概念を知っている - 私の知る限りそれを理解: 属性と関連の"由来ユニオン"と記された要素/クラスは直接使用することはできません。より具体的なサブクラスでは、派生したユニオンとしてマークされていない限り、使用できるサブセットを見つけることができます。 私の質問 を(組合なし)「 はを導出」属性と関連は、よ

    4

    1答えて

    私はやや奇妙なメタクラスの質問があります。私は別のスーパークラスから継承し、元のクラスの属性としてそれを割り当てる '兄弟'クラスを動的に作成するためにメタクラスを使用しています。以下は、最小限の設定です: class Meta(type): def __new__(cls, name, parents, dct): sdct = dct.copy() dct['siblin

    6

    2答えて

    Python(2のみ?)は、変数__metaclass__の値を調べて、クラス定義からtypeオブジェクトを作成する方法を決定します。 It is possible to define __metaclass__ at the module or package levelであり、その場合、そのモジュール内のすべての後続のクラス定義に適用されます。 しかし、私が遭遇した中で、次のflufl.enu

    1

    1答えて

    は、この例を考えてみましょう: class Meta(type): def method(*_, **__): print('Meta') class A(object): __metaclass__ = Meta class B(object): @classmethod def method(*_, **__): pr

    10

    2答えて

    私はモジュールが@propertyであるはずです。モジュールとしてクラスを設定することでこれを解決しました。私はこの答えからアイデアを得ました:Lazy module variables--can it be done? 私はこれを繰り返して使いやすく、メタクラスを作ったかったのです。これは魅力のように機能します。 問題は、ドキュメントプロパティを生成するためにSphinxを使用してもドキュメント