Python:在默认对象上调用方法

时间:2012-04-01 14:25:38

标签: python

是否可以在默认对象上调用方法?为了解释我的意思,这是一个例子:

有一个类的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

有没有可能让这项工作?我需要的是设置一个“默认”对象 - 如果找不到该方法,将执行哪些方法。

1 个答案:

答案 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的所有方法传播到模块名称空间,但我建议不要这样做。