我意识到还有其他线程解决这个问题,但由于我对'Classes'相当新,并且已经构建了我的类结构......我想找到一个可以集成到我的代码中的方法。我相信这不会很难回答!
第一个文件:NameResult.py
from NameAssign import *
NameList = NameWorks()
print(NameList.InputNames(NameVar))
第二个文件:NameAssign.py
class NameWorks:
def __init__(self, NameVar = []):
self.NameVar = NameVar
def InputNames(self, NameVar):
global NameVar
NameVar = ['harry', 'betty', 'sam']
结果:
NameError: name 'NameVar' is not defined
非常感谢所有回复......
答案 0 :(得分:4)
NameVar
中未定义 NameAssign
;它仅作为局部变量存在于NameAssign.NameWorks.InputNames()
内。解决此问题的最简单方法是在全局级NameAssign
中定义它。
修改强>
事实证明这就是你想要做的事情:
import NameAssign
namelist = NameAssign.NameWorks(['harry', 'betty', 'sam'])
print namelist.InputNames() # or print(...) for Py3k
class NameWorks(object):
def __init__(self, names):
self.names = names
def InputNames(self):
return self.names