赋值前引用局部变量“第一个”

这个问题在这里已经有了答案:

  • 在不同于创建它们的函数中使用全局变量18个答案

  • Python为任何赋值扫描一个函数体,如果它们没有明确声明为global ,那么它会为该名称创建一个本地作用域变量。 由于您在reverse()函数中first分配,并且您没有在该函数的作用域中first显式声明为全局变量,python会创建一个名为first的局部变量来隐藏全局变量。

    比较之后的任务并不重要; python隐式地声明了函数开头的所有局部变量。

    为了解决这个问题,你可以在reverse()函数中声明first是全局的,但正如其他人所说的那样,应尽可能避免使用全局变量。

    链接地址: http://www.djcxy.com/p/23893.html

    上一篇: Local variable 'first' referenced before assignment

    下一篇: python how to change the global variables