次のようなコードがあります:
class Pump:
def __init__(self):
print("init")
def getPumps(self):
pass
p = Pump.getPumps()
print(p)
しかし、次のようなエラーが発生します:
Traceback (most recent call last):
File "C:\Users\Dom\Desktop\test\test.py", line 7, in <module>
p = Pump.getPumps()
TypeError: getPumps() missing 1 required positional argument: 'self'
なぜ__init__
呼び出されないのでしょうか。また、この例外はどういう意味ですか。私の理解では、self
コンストラクターとメソッドに自動的に渡されるということです。ここで何が間違っているのでしょうか。
ベストアンサー1
クラスを使用するには、まず次のようにインスタンスを作成します。
p = Pump()
p.getPumps()
完全な例:
>>> class TestClass:
... def __init__(self):
... print("init")
... def testFunc(self):
... print("Test Func")
...
>>> testInstance = TestClass()
init
>>> testInstance.testFunc()
Test Func