は、どのように、クラスのレベルでクラスのメンバ関数をクラスレベルまたはインスタンスオブジェクトのレベルで定義するにはどうすればよいですか?クラスを定義するときに、最初の引数がクラスのインスタンスオブジェクトクラスオブジェクトではなく、すなわちPythonの2.7で
メンバ関数を定義することができ
メンバはクラスのインスタンスオブジェクトのレベルで機能します。つまり、最初の引数はクラスオブジェクトではなくクラスのインスタンスオブジェクトです。
特定のクラスを使用する場合、メンバー関数がクラスのレベルにあるのかクラスのインスタンスオブジェクトのレベルにあるのかをどのようにして知ることができますか? クラスレベル器具をTestSuite
に実装されている間
は、例えば、Pythonの標準ライブラリに、TestCase
からsetUp()
は、インスタンス・オブジェクトのレベルでTestCase
、すなわち各インスタンスオブジェクトに対して呼び出されます。テストスイートに新しいクラスからのテストが行われると、前のクラス(存在する場合)からtearDownClass()
が呼び出され、setUpClass()
から新しいクラス が呼び出されます。
ありがとうございました。
あなたは@classmethodを探していますか? – galaxyan
ありがとうございます。多分。 '@ classmethod'はPython公式サイトのいくつかの文書で、クラスとインスタンスオブジェクトについて一般的に議論していますか?私はPython Language ReferenceとPython Tutorialで '@ classmethod'を見つけられません。 – Tim
https://docs.python.org/3/library/functions.html#classmethodこれらは、このセクションの最後の段落(https://docs.python.org/3/reference/datamodel.html#the-standard-type-hierarchy)にも記載されています。 ...そのリンクの ''インスタンスメソッド ''の見出しもチェックしてください。 – wwii