クラスの関数(メソッド)をインスタンスを作らずに使う(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です
説明
間違えやすい問題