UnboundLocalError: local variable 'xxx' referenced before assignmentde分析

第一种情况:
xx是函数外的全局变量
xx = 4
def a(pp):
xx = 3
print xx
a(“pp”)
在函数内直接修改xx的值,引起UnboundLocalError: local variable ‘xxx’ referenced before assignment报错
如果想不报错,第一种,在函数内global xx
第二种,作为函数的参数传入,a(xx)

第二种情况:
m是函数内的局部变量,
xx = 2
def a(xx):
if xx>3:
m=4
print m
a(xx)
没有先声明m,当不满足if条件,m没能执行if下的赋值,这时在if外输出m,报错,UnboundLocalError: local variable ‘xxx’ referenced before assignment,不想报错,在函数内,if外为m初始化。如,m=0.

你可能感兴趣的:(UnboundLocalError: local variable 'xxx' referenced before assignmentde分析)