python怎么用hook函数 python hook函数

主机教程 建站分享 2年前 (2022-11-21) 213次浏览

文章摘要:python怎么用hook函数 python hook函数

在python中使用hook函数,具体方法如下: import time class LazyPerson(o […]

在python中使用hook函数,具体方法如下:

import time

class LazyPerson(object):

def __init__(self, name):

self.name = name

self.watch_tv_func = None

self.have_dinner_func = None

def 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_func

def register_dinner_hook(self, have_dinner_func):

self.have_dinner_func = have_dinner_func

def enjoy_a_lazy_day(self):

self.get_up()

time.sleep(3)

if self.watch_tv_func is not None:

self.watch_tv_func(self.name)

else:

print("no tv to watch")

time.sleep(3)

if self.have_dinner_func is not None:

self.have_dinner_func(self.name)

else:

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")

lazy_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)

lazy_tom.enjoy_a_lazy_day()

lazy_jerry.enjoy_a_lazy_day()


声明:
若非注明,本站文章源于互联网收集整理和网友分享发布,如有侵权,请联系站长处理。
文章名称:python怎么用hook函数 python hook函数
文章链接:http://www.7966.org/post/13636.html
转载请注明出处

喜欢 (0)