0
__call__
(python3)의 의미를 이해하려고합니다. 각 방법을 __init__
, __call__
및 테스트 방법을 구분하기 위해 작성했습니다. 내가 왜 __call__
를 호출되지는 x.test()
을 시작할 때__call__ 클래스 내부에서 메소드를 호출 할 때
#!/usr/bin/python3
class thara(object):
def __init__(self):
print("init called")
def __call__(self):
print("call called")
def test(self):
print("test called")
x=thara() ### constructor calling here
x() ## __call__ calling here
x.test() ## test method calling here
제 질문은? 내가 생각하고있는 것은 x.test()가 인스턴스 x()
을 시작하면 자동으로 __call__
메서드를 호출해야한다는 것입니다.하지만 내 출력에 따라 __call__
은 x()
을 시작할 때만 호출합니다.
누군가 설명해주십시오. 인스턴스 함수 호출처럼 때
여기서'x.test()'는'__call__'을 (를) 호출 할 것이라고 말했습니까? https://docs.python.org/3.4/reference/datamodel.html#object.__call__ –
관찰 한 행동은 이상적입니다. 왜 당신을 놀라게하는지 더 자세히 설명해주십시오. 또는 당신이 대답으로 받아들이면 : 이것은 바로 그 방법입니다. – 5gon12eder