파이썬 3에서 클래스 메소드를 n 초마다 실행하려고합니다.n 초마다 클래스 메소드 실행
나는 Threading이 좋은 접근 방법이라고 생각했습니다. 질문 (Run certain code every n seconds)은 객체없이이를 수행하는 방법을 보여줍니다.
나는 "전송"이 코드는 다음과 같이 OOP하기 위해 노력 :class Test:
import threading
def printit():
print("hello world")
threading.Timer(5.0, self.printit).start()
test = Test()
test.printit()
>> TypeError: printit() takes no arguments (1 given)
나는이 오류가 발생합니다.
바로 할 수 있습니까?
귀하의 방법이 잘못 정의되었습니다. 자기 매개 변수 –
이 맞지 않습니다. 나는 조금 부끄러워. O – speendo
한 지점이나 다른 지점에서 모두에게 일어난 일입니다. 당신이 정의한 것은 정적 방법입니다. 만약 당신의 클래스가 정말로 어떤 데이터도 포함하고 있지 않고 오직이 메소드 만 가지고 있다면, 그 정의를 그대로두고'Test.printit() '을 사용해야한다. –