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

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

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. LAMP部署搭建————重要文件备份
  2. 如何找GitHub上热门的开源项目
  3. 【网络安全】网络安全攻防 -- 黑客攻击简要流程
  4. IE8 CSS HACK 兼容集合
  5. [Python图像处理] 三十八.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化)
  6. 收集Java 性能优化的44个建议
  7. python - 内置函数
  8. 全网最详细TCP参数讲解,再也不用担心没有面试机会了......
  9. oracle实现id自增和设置主键
  10. Spring学习笔记之二----基于XML的Spring AOP配置
  11. 使用npm发布自己的npm组件包
  12. 【MV-3D】----多视图的3D目标检测网络
  13. KVM实验一 pepsi-wyl
  14. unity物体自身轴旋转_Unity 中物体的旋转
  15. SpringCloudStream、Spring事件监听机制、SpringCloudBus
  16. antd 动态自定义表单验证失效
  17. CC00260.CloudKubernetes——|KuberNetes中间件容器化及helm.V07|——|中间件.v07|redis.v5.0.4|custom-reso...
  18. 最大化 LoRa 长距离,您应该知道的完整秘籍
  19. CFA1级 JC网课
  20. 初始mysql(3w)

热门文章

  1. linux 锐捷客户端 脚本,基于802.1x的锐捷linux客户端认证方法(最新)
  2. java线程池的应用_Java线程池的使用
  3. 国务院办公厅:多处强调“电子签名、电子印章、电子合同”的应用
  4. ubuntu 修改默认用户名_Ubuntu更改用户名的方法
  5. oracle关闭参数,在Oracle关闭情况下如何修改spfile的参数
  6. SQL Prompt v5.3.0.3
  7. php电子杂志,Phpwind推电子杂志《站长天下》 网罗站长故事
  8. RAM、 ROM 、SRAM 、DRAM 、SDRAM 、DDR (2、3、4)SDRAM辨析
  9. 青云服务器控制台系统,青云QingCloud控制台小程序上线
  10. uniapp-上传图片、上传视频