这是我的代码片段:
class myClass:
verbs {'hear': 3, 'do': 5}
def __init__(self):
self.D = self.create_dictionary()
def create_dictionary(self):
D = {}
for entry in verbs:
D[verbs[entry]] = {}
我在循环线上遇到运行时错误:"全局名称'动词'未定义"。我还没有弄清楚为什么会这样。
答案 0 :(得分:1)
首先,您错过了=
中的作业verbs = {'hear': 3, 'do': 5}
。
其次,verbs
并非完全全球化,它位于myClass
内。要引用它,请使用myClass.verbs
或在课外分配,我认为这更符合您的意图,但我可能错了。
答案 1 :(得分:0)
试试这个
class myClass:
verbs={'hear': 3, 'do': 5}
def __init__(self):
self.D = self.create_dictionary()
def create_dictionary(self):
D = {}
for entry in self.verbs:
D[self.verbs[entry]] = {}
或者更好地在构造函数中包含动词定义。