Python 将外部函数传递给类方法

Python 将外部函数传递给类方法,python,python-2.7,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.

我想了解如何将外部函数传递给类方法。 例如,假设我试图每秒调用一个函数“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”


您需要创建调度程序的实例

x = Scheduler()
而不是

x = Scheduler

类方法在哪里?您拥有的是一个实例方法。您可能不知道与静态、类和实例方法相关的特定于python的术语。一个相关链接是。谢谢比尔兄弟!x=Scheduler()将创建一个实例。如果您不介意,可以告诉我x=Scheduler做什么吗?
x=Scheduler
为类调度器创建另一个名称。所以您可以这样做:
AnotherSchedulerClass=Scheduler;x=另一个SchedulerClass()