Python Class

class Person(object):
    def __init__(self):
        print('created')
    def say_something(self):
        print('hello')

 最初のクラス宣言の'object'は無くても良いが、このクラスをbase classとして継承されることを前提としているならば、必要である。
 関数の最初に引数は、object自信を示す'self'を置く。ただし、呼び出しには’self'は必要ない。
 __init__(self)はクラスのコンストラクタ関数で、引数を渡す必要が無ければ、無くても良い。

クラスの実行

オブジェクト作成時に変数を渡す。

class Person(object):
    def __init__(self,name='Default'):
        self.name=name
        print(self.name)
    def say_something(self):
        print(f'I am {self.name},hello')

nameを渡しているが、'Default'を入れていないと、引数無しで作成した場合にエラーがでる。

初期化での引数渡し

クラス中の関数から、同じクラスの関数を呼び出す場合は、関数名にselfをつける。

class Person(object):
    def __init__(self,name='Default'):
        self.name=name
        print(self.name)
        
    def say_something(self):
        print(f'I am {self.name},hello')
        self.run(10)
        
    def run(self,num):
        print('run '*num)
同クラス内の関数

作成したオブジェクトを消去する。

class Person(object):
    def __init__(self,name='Default'):
        self.name=name
        print(self.name)
        
    def say_something(self):
        print(f'I am {self.name},hello')
        self.run(10)
        
    def run(self,num):
        print('run '*num)
        
    def __del__(self):
        print('deleted')
クラスのデストラクタ

この記事が気に入ったらサポートをしてみませんか?