钩子函数、注册函数、回调函数,他们的概念其实是一样的。

回调函数牛逼的讲解:回调函数牛逼的文章

import timeclass LazyPerson(object):def __init__(self, name):self.name = nameself.watch_tv_func = Noneself.have_dinner_func = Nonedef get_up(self):print("%s get up at:%s" % (self.name, time.time()))def go_to_sleep(self):print("%s go to sleep at:%s" % (self.name, time.time()))def register_tv_hook(self, watch_tv_func):self.watch_tv_func = watch_tv_funcdef register_dinner_hook(self, have_dinner_func):self.have_dinner_func = have_dinner_funcdef enjoy_a_lazy_day(self):# get upself.get_up()time.sleep(3)# watch tv# check the watch_tv_func(hooked or unhooked)# hookedif self.watch_tv_func is not None:self.watch_tv_func(self.name)# unhookedelse:print("no tv to watch")time.sleep(3)# have dinner# check the have_dinner_func(hooked or unhooked)# hookedif self.have_dinner_func is not None:self.have_dinner_func(self.name)# unhookedelse:print("nothing to eat at dinner")time.sleep(3)self.go_to_sleep()def watch_daydayup(name):print("%s : The program ---day day up--- is funny!!!" % name)def watch_happyfamily(name):print("%s : The program ---happy family--- is boring!!!" % name)def eat_meat(name):print("%s : The meat is nice!!!" % name)def eat_hamburger(name):print("%s : The hamburger is not so bad!!!" % name)if __name__ == "__main__":lazy_tom = LazyPerson("Tom")lazy_jerry = LazyPerson("Jerry")# register hooklazy_tom.register_tv_hook(watch_daydayup)lazy_tom.register_dinner_hook(eat_meat)lazy_jerry.register_tv_hook(watch_happyfamily)lazy_jerry.register_dinner_hook(eat_hamburger)# enjoy a daylazy_tom.enjoy_a_lazy_day()lazy_jerry.enjoy_a_lazy_day()

python hook(钩子)函数相关推荐

  1. mfc中嵌入python_Python 中的 Hook 钩子函数

    1. 什么是Hook 经常会听到钩子函数(hook function)这个概念,最近在看目标检测开源框架mmdetection,里面也出现大量Hook的编程方式,那到底什么是hook?hook的作用是 ...

  2. pytest合集(10)— Hook钩子函数

    一.钩子函数 钩子函数这个称呼是很多开发语言中都会涉及到的一个东西. 1.理解钩子函数 如何理解钩子函数 - 知乎 2.pytest的钩子函数 Hooks钩子函数是pytest框架预留的函数,通过这些 ...

  3. mysql 钩子函数_pod 生命周期hook钩子函数

    参考: 0.如果没有设置钩子,pod如何删除 给pod里的每个容器中pid为1的进程发送 kill -9 (SIGTERM) 信号, 1.postStart 这个钩子在创建容器之后立即执行.但是,并不 ...

  4. Python钩子函数

    文章目录 python hook 机制 一. 概念 1. hook概述 2. hook 二. 示例 python hook 机制 一. 概念 1. hook概述 hook,又称钩子,在C/C++中一般 ...

  5. gorm time.Time 使用钩子函数解决反序列化问题

    问题描述: gorm中使用下面的CreatedAt 和UpdateAt,可以实现在记录创建和更新时自动更新下面两个字段.虽然使用默认的json解析,从json中到golang中,从golang中写入到 ...

  6. Vue钩子函数之钩子事件hookEvent,监听组件

    在Vue当中,hooks可以作为一种event,在Vue的源码当中,称之为hookEvent. 在Vue组件中,可以用过$on,$once去监听所有的生命周期钩子函数,如监听组件的updated钩子函 ...

  7. python api框架 hook_python学习之hook钩子的原理和使用

    什么是钩子 之前有转一篇关于回调函数的文章 钩子函数.注册函数.回调函数,他们的概念其实是一样的. 钩子函数,顾名思义,就是把我们自己实现的hook函数在某一时刻挂接到目标挂载点上. 1. hook函 ...

  8. linux钩子函数和回调函数,Linux Kernel 学习笔记10:hook函数

    (本章基于: Linux -4.4.0-37) linux 内核中有一套hook函数机制,可在不同hook点位置监控网络数据包,并执行丢弃.修改等操作.网络防火墙就是通过此机制实现的. 注册注销hoo ...

  9. hook(钩子函数)

    hook钩子: 使用技术手段在运行时动态的将额外代码依附现进程,从而实现替换现有处理逻辑或插入额外功能的目的. 它的技术实现要点有两个: 1)如何注入代码(如何将额外代码依附于现有代码中). 2)如何 ...

最新文章

  1. 全国计算机等级考试评卷、成绩处理和证书管理办法
  2. 深度学习caffe的代码怎么读?
  3. 大连开发区中老年运动微信群_消暑!大连近郊最受欢迎的海滨浴场集合来啦
  4. python简单计算器下载安装到手机_python简单计算器
  5. SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第二篇)
  6. ASP.NET AJAX 首部曲 - 迈向解密之路
  7. before start of result set_Mac也能有庞大的游戏库,体验腾讯start云游戏,真的流畅...
  8. 五步完成Spring整合Mybatis的完整示例
  9. (Windows)Scala学习3--列表、数组
  10. springboot使用@Async实现异步操作
  11. html5在线拍照,js html5 调用摄像头拍照
  12. 《酒干倘卖无》歌曲什么意思,看了《搭错车》感人电影就知道了
  13. 用开源代码如何建立网站_建立全球开源法律网络
  14. LaTeX 设置图片caption左对齐
  15. 为什么将机器学习应用于资产定价?
  16. ukf实测信号的预测 matlab,ukf(无迹卡尔曼滤波)算法的matlab程序.
  17. 2.数据类型--数值类型
  18. 地震发生时,我们如何避震自救?
  19. 在北京工作了两年,如今跳槽到了广州,社保公积金该怎样办理?
  20. 计算机用户名更改不了,分享简单几步解决win10电脑用户名改不了的问题

热门文章

  1. 用html做网站古诗春思,春思古诗词
  2. 关于举办“2021全国高校计算机视觉实战暑期教师研修班”的通知
  3. OpenGL超级宝典第7版环境配置
  4. SOC,SOH,SOP,内部温度总结
  5. The Shawshank Redemption-20
  6. C#常见错误—未将对象引用设置到对象的实例
  7. 【awk】输出不同列、左对齐or右对齐
  8. 硬盘初始化分区选择GPT还是MBR?
  9. Mobius反演学习
  10. 三、全国计算机三级数据库考试——操作题(1—5套)