NameError,python3 get_step未定义

时间:2018-01-18 03:15:29

标签: python-3.x

我正在关注“Python崩溃课程”这本书,并且我一直得到这个

  

NameError:名称'get_step'未定义

它位于python3中,两个文件都位于同一目录中。

所以......这个函数是在这个类中定义的:

random_walk.py

并将该类导入:

main_program

它调用fill_walks,fill_walks调用get_step。我在这里失踪了什么?请有人帮帮我

2 个答案:

答案 0 :(得分:0)

在random_walk.py中 变化

def get_step():

def get_step(self):     #<--- self?

答案 1 :(得分:0)

您知道在引用x_valuesy_valuesnum_points时,您必须说self.x_valuesself.y_values等吗?这适用于您的实例的所有属性,包括方法。因此,当您想要在您的课程中定义get_step()get_step时,您必须致电self.get_step()

此外,当您在类上定义方法时,默认情况下它会调用实例方法,并且会以实例作为第一个参数自动调用。您已正确定义fill_walkdef fill_walk(self):get_step目前未正确定义。你要么必须

def get_step(self):
    ....

或者,由于get_step本身不需要访问任何实例属性,您可以通过如下定义将其标记为静态方法:

@staticmethod
def get_step():
    ...