python变量问题
--成功
i=1;
def greet():
print i
greet()
--报错
i=1;
def greet():
print i
i += 1;
greet()
请问各位大虾,为什么我下面加了一行就会报i未定义呢,如果不加就能打印出i。
[解决办法]
没有把你的变量i 当全局变量,应该是把i当成局部变脸,显示是没定义,
def greet()
globle i
print i
这样就没问题
[解决办法]
字典是可变类型,可修改,而前面的i是不可变的,函数里没有申明,不会去引用外面的i
[解决办法]
这是python赋值运算符特别之处,它永远从最内层作用域寻找标识符找不到就报错,所以i得global一下赋
值运算符才看得见它,字典那个其实是两步操作,第一步索引操作会自动在外部作用域寻找标识符然后赋值,
所以没问题。更详细的打开文档搜"assignment"