变量作用域是指可以在程序的哪个部分引用或使用某个变量。
在函数中使用变量时,务必要考虑作用域。如果变量是在函数内创建的,则只能在该函数内使用该变量。你无法从该函数外面访问该变量。
这意味着你可以为在不同函数内使用的不同变量使用相同的名称。
在编程时,你经常会发现相似的想法不断出现。你将使用变量进行计数、迭代和累积要返回的值。为了编写容易读懂的代码,你会发现你需要对相似的想法使用相似的名称。一旦你将多段代码放到一起(例如,一个脚本中有多个函数或函数调用),你可能需要为两个不同的概念使用相同的名称。
幸运的是,你不需要不断想出新的名称。可以为对象重复使用相同的名称,只要它们位于不同的作用域即可。
egg_count = 0
def buy_eggs():
egg_count += 12 # purchase a dozen
eggsbuy_eggs()
所以eggsbuy_eggs()会发生错误
会导致 UnboundLocalError,因为 Python 不允许函数修改不在函数作用域内的变量。