将外部函数传递给类方法

时间:2018-01-23 05:13:24

标签: python python-2.7

我想了解如何将外部函数传递给类方法。 例如,假设我正在尝试调用函数' job'每一秒。

import schedule
import time

def set_timer_minutes(func):
    schedule.every(1/60).minutes.do(func)

def job():
    print("I'm working...")

set_timer_minutes(job)
while 1:
    schedule.run_pending()
    time.sleep(1)

上面的代码打印出“我正在工作”。每一秒。 但是如果我试着将它放在一个类

class Scheduler:
    def set_timer_minutes(self,func):
        schedule.every(1/60).minutes.do(func)
        while 1:
            schedule.run_pending()
            time.sleep(1)

def job():
    print("I'm working...")

x= Scheduler
x.set_timer_minutes(job)

我得到了

  

TypeError:set_timer_minutes()缺少1个必需的位置参数:   ' FUNC'

1 个答案:

答案 0 :(得分:3)

您需要创建一个Scheduler实例。

x = Scheduler()

而不是

x = Scheduler