我有一个python函数test(),它循环遍历问题并提示答案并在最后对结果进行评分。我想通过不同的,但可选的修改测试()函数,如shuffle()的问题或reverse()的问题,或odds_only()等。当我尝试将这些函数传递到test()像这样,我得到一个nameError。任何人都可以帮助我了解我出错的地方吗?将函数作为参数传递时的NameError
>>> my.test(mod=shuffle)
... NameError: name 'shuffle' is not defined
def test(self, mod=None):
if mod is not None:
return_value = mod()
def shuffle(self):
list_of_questions = list(self.dictionary.keys())
random.shuffle(list_of_questions)
return list_of_questions
什么是'my'? “测试”和“洗牌”是班级的一部分吗? – kindall
是的,他们都是班级的一部分,我在这种情况下只是该班的一个对象 – GainesvilleJesus