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

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

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. linux resin 自动启动不了,Resin 安装-配置-自启动-Linux
  2. MySQL变量,存储过程,函数,流程控制详解(小白都能懂哦)
  3. 苹果六电池_昆明苹果手机售后维修地址 昆明苹果手机维修哪家好?
  4. 「权威发布」2019年大学生电子设计竞赛,仪器设备和主要元器件清单
  5. Hdu 4415 Assassin's Creed 【贪心】.cpp
  6. 为对象分配内存TLAB
  7. 在线自动下载最新版本jquery
  8. 每天学习一点点(2010年二月)
  9. SpringMVC的上传和下载
  10. JQUERY 使用键盘左右键切换选项卡
  11. 神经网络系统辨识的特点,神经网络系统辨识程序
  12. .Net Core Win2008R2 运行环境问题 502.5
  13. 数据分析中应该了解的几种常用预测方法
  14. 中望cad2014 专业破解版
  15. TryHackMe-Gatekeeper
  16. Photoshop 添加ico图标格式支持
  17. 丰富的层次感,打造190㎡现代简约居住空间
  18. AutoJs Pro 7.0.4-1 实战教程---史上最全快手极速版
  19. VMware虚拟机使用无线网络
  20. 各个平台3年来最火的183个Java面试问题,太透了!(建议收藏)

热门文章

  1. mysql 更新的进度_如何查看mysql执行进度
  2. 自动解锁Bitlocker加密硬盘
  3. Java知识汇总——思维导图
  4. (转)硬盘分区备忘(主分区,扩展分区和逻辑分区)以及Linux硬盘分区工具parted 介绍...
  5. windows10的几个常用快捷键
  6. 如何查看电脑是否支持Wi-Fi 6
  7. SharpDevelop的AddInTree View 插件
  8. javaScript数组操作--有道笔记整理
  9. 【在华为做OD的日子】初出茅庐
  10. winsock 常用函数介绍