Python - 文法 - クラス - 基本

クラウディア 
1. 概要
2. コンストラクタ
3. デストラクタ
4. クラス名
5. メソッド名
6. 検証

1. 概要

 まずは、基本的な部分から。  本ページは、下記のサイトを参考にさせていただきました。
コンストラクタとデストラクタ #Python」
「class 名をインスタンスを作らずに取得する #Python」
「python で実行中のメソッド名を取得する方法

2. コンストラクタ

 コンストラクタは、「__init__」というメソッドを使用します。

3. デストラクタ

 コンストラクタは、「__del__」というメソッドを使用します。

4. クラス名

 クラス名は、クラス内で「self.__class__.__name__」という変数で取得できます。

5. メソッド名

 これは、少し複雑。  「inspect」というモジュールを「import」して、「inspect.currentframe().f_code.co_name」というメソッドで取得できます。

6. 検証

 前項までの内容を、検証するために、下記のソースを書きました。

import inspect

class MyClass():
  def __init__(self):
    print(self.__class__.__name__, inspect.currentframe().f_code.co_name)

  def some_method(self):
    print(self.__class__.__name__, inspect.currentframe().f_code.co_name)

  def __del__(self):
    print(self.__class__.__name__, inspect.currentframe().f_code.co_name)

myClass = MyClass()
myClass.some_method()
 これを実行すると、下記の結果が得られます。

MyClass __init__
MyClass some_method
MyClass __del__
 デストラクタは、クラスのオブジェクトが消滅する際に、自動で呼ばれますが。  明示的に、「del クラスオブジェクト」で呼び出すこともできます。