(已解决)UnboundLocalError: local variable 'prices' referenced before assignment

error如题:
在这里插入图片描述

  • unboundLocalError局部变量错误

这是关于变量作用域的错误。

python访问局部变量和全局变量的规则:当搜索一个变量的时候,python先从局部作用域开始搜索,如果在局部作用域没有找到那个变量,那样python就在全局变量中找这个变量,如果找不到抛出异常(NAMEERROR或者Unbound-LocalError,这取决于python版本。)

如果内部函数有引用外部函数的同名变量或者全局变量,并且对这个变量有修改.那么python会认为它是一个局部变量。

在Python中,如果变量仅仅是被引用而没有被赋值过,那么默认被视作全局变量。如果一个变量在函数中被赋值过,那么就被视作局部变量。

采用global prices语句实现prices作为全局变量

  • Reference

  1. Understanding UnboundLocalError in Python
  2. 全局变量报错:UnboundLocalError: local variable ‘l’ referenced before assignment
  3. 理解Python的UnboundLocalError(Python的作用域)
  4. Python 3: UnboundLocalError: local variable referenced before assignment [duplicate]

猜你喜欢

转载自blog.csdn.net/The_Time_Runner/article/details/89706908