稍后在模块中定义的方法的Python NameError

时间:2012-11-21 23:00:17

标签: python

为什么python要求您在同一模块中使用它们之前定义方法

e.g。

def a():
  b()
def b():
  ...

不起作用,因为b()是在()之后定义的,它在其体内调用b()

1 个答案:

答案 0 :(得分:7)

此类代码应该有效,除非您在a()def a()部分之间调用def b(),因为在这种情况下a()会被执行,执行b(),在那个时间点尚未定义。