`__class __.__ name__`をクラス属性として設定するにはどうすればよいですか?

Pavel Antspovich

クラスからクラス名を取得する必要があります:

class Cls:
    notation = None

    def __init__(self):
        notation = self.__class__.__name__

print(Cls.notation)プリントしますNoneが必要です'Cls'

それを修正する方法、またはクラスの名前を返すクラス属性を定義する方法は?

チェプナー

クラス属性ではなく、ローカル変数に割り当てています。

def __init__(self):
    Cls.notation = self.__class__.__name__

関与するサブクラスがある場合、self.__class__必ずしもそうはないことに注意してくださいあなたが使用したいかもしれませんClsCls

def __init__(self):
    type(self).notation = self.__class__.__name__

ユースケースによって異なります。

に割り当てるとself.notation、クラス属性をシャドウするインスタンス属性が作成されるため、機能しません。

Cls.notation == "Cls"クラスを定義した直後が必要な場合は、次のようにハードコーディングすることもできます。

class Cls:
    notation = "Cls"

または

class Cls:
    pass

Cls.notation = Cls.__name__

あなたも書くことができますが

class Cls:
    notation = __qualname__

ステートメントの最初の行で使用されている名前に基づいて値を設定しますが、__qualname__ネストも考慮されます。

class Cls1:
    class Cls2:
        notation = __qualname__  # "Cls1.Cls2", not "Cls2"

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Webページでクラス属性を持つ正しい解析済みifステートメントとAngularjsを持つng-classを設定するにはどうすればよいですか?

分類Dev

`class_weights`を正しい方法で設定するにはどうすればよいですか?

分類Dev

:before pseudo-classでSVG画像のサイズを設定するにはどうすればよいですか?

分類Dev

RSpecでclass_doubleを使用してクラスメソッドをスタブするにはどうすればよいですか?

分類Dev

PerlのDBIx :: Classとマルチプライマリ列1:nの関係を設定するにはどうすればよいですか?

分類Dev

`ng-class`を使用してクラスを追加および削除するにはどうすればよいですか?

分類Dev

Classオブジェクトをパラメーター化された型として使用するにはどうすればよいですか?

分類Dev

すべてのList <class>属性をテキストボックスに表示するにはどうすればよいですか?

分類Dev

jythonコードでjavas ".class"属性にアクセスするにはどうすればよいですか?

分類Dev

Class.forName(...)を使用して配列のクラスを取得するにはどうすればよいですか?

分類Dev

Class.forNameを使用してプリミティブバイトクラスを取得するにはどうすればよいですか?

分類Dev

Angularを使用して3項クラス(ng-class)を適用するにはどうすればよいですか?

分類Dev

gen-classを使用するときにクラスのインスタンスを取得するにはどうすればよいですか?

分類Dev

キーワード引数として `class`を使用するにはどうすればよいですか?

分類Dev

class = "btnbtn-primary"のクラスを持つ要素をLESSで定義するにはどうすればよいですか。

分類Dev

LinQを使用して「Table1」からClassIdによって「Class」からName-propertyを取得するにはどうすればよいですか?

分類Dev

特定のClass属性値を持つClassインスタンスにアクセスするにはどうすればよいですか?

分類Dev

この「tr」に属性valign = "baseline"がある場合、jQueryを使用して、クラス(class = "none")を「tr」にバッチ追加するにはどうすればよいですか。

分類Dev

javascript:コールバックとしてclass-methodを使用してクラス内にイベントハンドラーを追加するにはどうすればよいですか?

分類Dev

jar内のすべてのクラスのClassオブジェクトを取得するにはどうすればよいですか

分類Dev

ng-classディレクティブで式を使用する場合と使用しない場合の乗算ルールを設定するにはどうすればよいですか?

分類Dev

SQLiteを使用してORDERBYでDBIx :: Classが大文字と小文字を区別しないようにするにはどうすればよいですか?

分類Dev

class内の参照なしでmember_descriptorをクラスにバインドするにはどうすればよいですか。__dict__

分類Dev

子プロセスを使用して、親ディレクトリから.classファイルを実行するにはどうすればよいですか?

分類Dev

junitを使用してscalaでIOException.classを実行するにはどうすればよいですか?

分類Dev

Ruby の object.inspect() が #<Class> の代わりに実際のクラス名を返すようにするにはどうすればよいですか?

分類Dev

RspecでClassオブジェクトをスタブするにはどうすればよいですか?

分類Dev

ジェネリック型パラメーターから `.class`属性を取得するにはどうすればよいですか?

分類Dev

SCSSで「#id.class」と「#id.class」を区別するにはどうすればよいですか?

Related 関連記事

  1. 1

    Webページでクラス属性を持つ正しい解析済みifステートメントとAngularjsを持つng-classを設定するにはどうすればよいですか?

  2. 2

    `class_weights`を正しい方法で設定するにはどうすればよいですか?

  3. 3

    :before pseudo-classでSVG画像のサイズを設定するにはどうすればよいですか?

  4. 4

    RSpecでclass_doubleを使用してクラスメソッドをスタブするにはどうすればよいですか?

  5. 5

    PerlのDBIx :: Classとマルチプライマリ列1:nの関係を設定するにはどうすればよいですか?

  6. 6

    `ng-class`を使用してクラスを追加および削除するにはどうすればよいですか?

  7. 7

    Classオブジェクトをパラメーター化された型として使用するにはどうすればよいですか?

  8. 8

    すべてのList <class>属性をテキストボックスに表示するにはどうすればよいですか?

  9. 9

    jythonコードでjavas ".class"属性にアクセスするにはどうすればよいですか?

  10. 10

    Class.forName(...)を使用して配列のクラスを取得するにはどうすればよいですか?

  11. 11

    Class.forNameを使用してプリミティブバイトクラスを取得するにはどうすればよいですか?

  12. 12

    Angularを使用して3項クラス(ng-class)を適用するにはどうすればよいですか?

  13. 13

    gen-classを使用するときにクラスのインスタンスを取得するにはどうすればよいですか?

  14. 14

    キーワード引数として `class`を使用するにはどうすればよいですか?

  15. 15

    class = "btnbtn-primary"のクラスを持つ要素をLESSで定義するにはどうすればよいですか。

  16. 16

    LinQを使用して「Table1」からClassIdによって「Class」からName-propertyを取得するにはどうすればよいですか?

  17. 17

    特定のClass属性値を持つClassインスタンスにアクセスするにはどうすればよいですか?

  18. 18

    この「tr」に属性valign = "baseline"がある場合、jQueryを使用して、クラス(class = "none")を「tr」にバッチ追加するにはどうすればよいですか。

  19. 19

    javascript:コールバックとしてclass-methodを使用してクラス内にイベントハンドラーを追加するにはどうすればよいですか?

  20. 20

    jar内のすべてのクラスのClassオブジェクトを取得するにはどうすればよいですか

  21. 21

    ng-classディレクティブで式を使用する場合と使用しない場合の乗算ルールを設定するにはどうすればよいですか?

  22. 22

    SQLiteを使用してORDERBYでDBIx :: Classが大文字と小文字を区別しないようにするにはどうすればよいですか?

  23. 23

    class内の参照なしでmember_descriptorをクラスにバインドするにはどうすればよいですか。__dict__

  24. 24

    子プロセスを使用して、親ディレクトリから.classファイルを実行するにはどうすればよいですか?

  25. 25

    junitを使用してscalaでIOException.classを実行するにはどうすればよいですか?

  26. 26

    Ruby の object.inspect() が #<Class> の代わりに実際のクラス名を返すようにするにはどうすればよいですか?

  27. 27

    RspecでClassオブジェクトをスタブするにはどうすればよいですか?

  28. 28

    ジェネリック型パラメーターから `.class`属性を取得するにはどうすればよいですか?

  29. 29

    SCSSで「#id.class」と「#id.class」を区別するにはどうすればよいですか?

ホットタグ

アーカイブ