假设,全局变量=彭于晏,局部变量=交大彭于晏,局部具有封闭性,二者没有任何关系
1、局部变量的变化不会影响全局变量
#局部变量的变化不会影响全局变量
x=30 #全局变量
def func_bj(x):
x +=30 #局部变量
print(f"交大彭于晏的工资为:{x}万元")
func_bj(x)
print(f"彭于晏的工资为:{x}万元")
2、局部变量未定义前不能使用
#局部变量未定义前不能使用
def func_sj():
x +=30
print(f"上交彭于晏的工资为:{x}万元")
func_sj(x)
运行,会出现 TypeError: func_sj() takes 0 positional arguments but 1 was given
原因是局部变量x没有定义,在函数第一行定义 x=0,
或者,理解为自定义函数没有加参数,在def func_sj( ) 括号里加上参数 x