クラスの関数(メソッド)をインスタンスを作らずに使う(class instance)


概要


関数名に引数selfがない場合

クラス名.関数名(引数)

関数名に引数selfがある場合

クラス名().関数名(引数)

でインスタンスなしにクラスの関数を使用できる


class aClass:
    def aFunc(self):
        print('これはaClassです')

aClass().aFunc()


class bClass:
    def bFunc():
        print('これはbClassです')

bClass.bFunc()

aCalssというクラスを以下に定義
    aFuncという関数を定義
        「これはaClassです」と出力せよ

aClassのaFunc関数を実行せよ


bCalssというクラスを以下に定義
    bFuncという関数を定義
        「これはbClassです」と出力せよ

bClassのbFunc関数を実行せよ

出力


これはaClassです
これはbClassです

説明


インスタンスを使わず直接クラスの中の関数を実行するには、いきなり

クラス名.関数名

と書けばよい
ただし関数にselfがついている場合は

aClass().aFunc()

のようにクラス名の後に()がいる
関数にselfがない場合は

bClass.bFunc()

のように()がいらない

間違えやすい問題



概要


インスタンスを作らずに複数のクラスの関数を繰り返しで実行するコード


class aClass:
    def Func(self):
        print('これはaClassです')

class bClass:
    def Func(self):
        print('これはbClassです')

class cClass:
    def Func(self):
        print('これはcClassです')

for cls in aClass(),bClass(),cClass():
    cls.Func()

aClassというクラスを以下に定義
    関数Funcを以下に定義
        「これはaClassです」と出力せよ

bClassというクラスを以下に定義
    関数Funcを以下に定義
        「これはbClassです」と出力せよ

cClassというクラスを以下に定義
    関数Funcを以下に定義
        「これはcClassです」と出力せよ

aClass(),bClass,cClass()をそれぞれclsに入れて以下を実行せよ
    clsのFunc()を実行せよ

出力


これはaClassです
これはbClassです
これはcClassです

説明


間違えやすい問題