为什么Python在函数中增加变量时会抱怨赋值前的引用?
为什么Python抱怨在赋值之前引用了为什么Python在函数中增加变量时会抱怨赋值前的引用?,python,function,variables,Python,Function,Variables,为什么Python抱怨在赋值之前引用了chrome?它并不抱怨这本词典。如果Python2.5有所不同的话,这就是它 def f(): google['browser'] = 'chrome' chrome += 1 google = dict() chrome = 1 f() 当然,我可以使用全局Chrome ,但是我想知道Python为什么不考虑要分配的变量。谢谢。在声明中 chrome += 1 而且它还没有被创建。 变量是在第一次分配时创建的。在本例中,当python看到代
chrome
?它并不抱怨这本词典。如果Python2.5有所不同的话,这就是它
def f():
google['browser'] = 'chrome'
chrome += 1
google = dict()
chrome = 1
f()
当然,我可以使用<代码>全局Chrome <代码>,但是我想知道Python为什么不考虑要分配的变量。谢谢。在声明中
chrome += 1
而且它还没有被创建。
变量是在第一次分配时创建的。在本例中,当python看到代码递增“chrome”时,它根本看不到这个变量
试着重新排列你的代码
chrome = 1
def f():
global chrome
google['browser'] = 'chrome'
chrome += 1
google = dict()
f()
超出范围:@irrelephant:谢谢。一个打字错误漏掉了全局关键字!更正。谢谢。注释长度必须至少为15个字符。