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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容