【发布时间】:2017-10-17 04:06:00
【问题描述】:
在Python: Do something for any method of a class?等问题中,有一些有趣的方法可以在类中的每个方法之前运行一个方法
但是该解决方案不允许我们传递参数。
Catch "before/after function call" events for all functions in class 上有一个装饰器解决方案,但我不想回去装饰我所有的课程。
有没有办法运行依赖于每次调用对象方法时传递的参数的前置/后置操作?
例子:
class Stuff(object):
def do_stuff(self, stuff):
print(stuff)
a = Stuff()
a.do_stuff('foobar')
"Pre operation for foobar"
"foobar"
"Post operation for foobar"
【问题讨论】:
标签: python python-2.7 python-3.x metaprogramming