20220810-day1408来看看函数的作用域
对于python来说,函数的作用域是比较重要的,所以要好好理解
# _author: Administrator # _date: 2022/8/9 #函数的作用域是非常重要的 if True: x=3 print(x) #这个是没有问题的,而下面函数就有问题 def f(): a=10 print(a) #NameError: name 'a' is not defined #那么为啥变量x没问题,而a却有问题呢?其实是因为在python里,if语句是没有作用域的,而函数是有作用域的。即函数里的变量仅适用于函数内部。 #引出了函数的作用域,那么函数有哪些作用域呢?LEGB x=int(2.9) #int built-in g_count=0 #global def outer(): o_count=1 #enclosing def inner(): i_count=2 #local print(i_count) #特别重要:局部作用域不能修改全局作用域,如下: cont=10 def outer2(): # global cont #如果加上,全局变量在这里就可以被修改了 print(cont) #10 cont=5 #这里报错,就是因为不能对cont进行修改(这里好好理解哦) outer2()