是否可以在默认对象上调用方法?为了解释我的意思,这是一个例子:
有一个类的Foo.py:
class Foo:
def fooMethod():
print "doSomething"
fooObject = Foo()
另一个pythonscript Bar.py:
from Foo import *
// what I can do now is:
fooObject.fooMethod()
// what I need is that this:
fooMethod()
// is automatically executed on fooObject if the method was not found in Bar.py
有没有可能让这项工作?我需要的是设置一个“默认”对象 - 如果找不到该方法,将执行哪些方法。
答案 0 :(得分:3)
这已在Python的random
模块中完成。他们使用simple and straight-forward solution:
class Foo:
def foo_method(self):
print "do something"
foo_object = Foo()
foo_method = foo_object.foo_method
也可以编写一些内省代码来自动将Foo
的所有方法传播到模块名称空间,但我建议不要这样做。