刚学习Python,遇到个问题:为什么有些定义在函数外的变量可以直接被函数使用,有些就不行呢?
如:
count = 0
def change():
count += 1
change() # 报错
L = []
def changeL():
L.append('a')
changeL() # 成功追加
总结:不可变类型的全局变量在函数中无法被重新绑定,除非声明global
如有不对,麻烦各位大神提醒指正
刚学习Python,遇到个问题:为什么有些定义在函数外的变量可以直接被函数使用,有些就不行呢?
如:
count = 0
def change():
count += 1
change() # 报错
L = []
def changeL():
L.append('a')
changeL() # 成功追加
总结:不可变类型的全局变量在函数中无法被重新绑定,除非声明global
如有不对,麻烦各位大神提醒指正