python实现回调函数

import time

class animal(object):
    def __init__(self,name,behavior):
        self.name = name
        self.behavior = behavior

    def introduce(self,time):
        print("animal name is {},behavior is {}".format(self.name,self.behavior))
        print("time is {}".format(time))

if __name__ == '__main__':
    callback_list = {}

    duck = animal("duck","say ga ga ga")
    dog = animal("dog","barking")
    localtime = time.localtime(time.time())
    localtime = time.strftime("%Y-%m-%d %H:%M:%S", localtime)
    
    callback_list.update({duck.name:(duck.introduce,localtime)})
    callback_list.update({dog.name:(dog.introduce,localtime)})

    callback,param = callback_list["duck"]
    callback(param)

#运行结果
#animal name is duck,behavior is say ga ga ga
#time is 2021-03-22 14:40:50

函数可以作为对象,包含了对象的信息

你可能感兴趣的:(python实现回调函数)