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')
