我有兩個文件。在第一個有一本字典準備出口:指定導入方法的上下文
__all__ = ['container']
def show_name(self):
myFunction()
print self.name
container = {
'show_name': show_name
}
在第二個文件,我導入myFunction
,我定義類Person
:
from myModule import myFunction
class Person:
def __init__(self):
self.name = 'Bob'
self.show_name = types.MethodType(container['show_name'], self)
person = Person()
的問題是,當我叫person.show_name()
我得到的錯誤:
NameError: global name 'myFunction' is not defined
我怎麼能有Person.show_name
訪問相同的功能Person
呢?
where myfunction()defined? – soulcheck 2012-01-18 14:16:49
我認爲你的意思是'容器',你寫了'display'。 – 2012-01-18 14:18:08
@larsmans:修正,謝謝! – Randomblue 2012-01-18 14:20:33