본문 바로가기
Python/Python FAQ

Python 왜 "TypeError: Missing 1 required positional argument: 'self'"가 발생하나요?, Why do I get "TypeError: Missing 1 required positional argument: 'self'"?

by 베타코드 2023. 12. 7.
반응형

질문


저는 다음과 같은 코드를 가지고 있습니다:

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가 생성자와 메소드에 자동으로 전달된다고 생각합니다. 여기서 무엇이 잘못되었을까요?


답변


클래스를 사용하려면 다음과 같이 인스턴스를 생성하십시오:

p = Pump()
p.getPumps()

전체 예제:

>>> class TestClass:
...     def __init__(self):
...         print("init")
...     def testFunc(self):
...         print("Test Func")
... 
>>> testInstance = TestClass()
init
>>> testInstance.testFunc()
Test Func
반응형

댓글