为什么Python抱怨chrome在分配之前被引用?它没有抱怨字典.如果它有所作为,这是使用Python 2.5.
def f():
google['browser'] = 'chrome'
chrome += 1
google = dict()
chrome = 1
f()
Run Code Online (Sandbox Code Playgroud)
我global chrome当然可以使它工作,但我想知道为什么Python不考虑分配变量.谢谢.
在声明中
chrome += 1
Run Code Online (Sandbox Code Playgroud)
它尚未创建.变量是在第一次分配时创建的.在这种情况下,当python看到代码递增'chrome'时,它根本看不到这个变量.
尝试将代码重新排列为
chrome = 1
def f():
global chrome
google['browser'] = 'chrome'
chrome += 1
google = dict()
f()
Run Code Online (Sandbox Code Playgroud)