学习了函数之后,就要考虑变量与作用域了,只有清楚变量的作用范围,代码逻辑才不会乱,变量的作用域分为全局变量和局部变量,全局变量是从赋值后,后续的代码都可以用该变量,局部变量是只有在函数内部被使用
j = 99 #定义一个全局变量j (因为j在函数外,后续任何代码都可以使用)
def Atom(i): #定义一个函数Atom,参数定义为 i
i = j + i #函数的实现为 i = j + i #这里的i因为在函数内所以为局部变量,j因为在之前就定义好了,所以仍然为全局变量
return i #返回参数i的值给函数 Atom()
i=8 #这里再定义一个全局变量i
print(Atom(3)) #打印结果为102 把3赋值给函数里的i,然后j(9) + i(3) = i(102) 所以i得出结果为102
print(i) #以为这个在函数外,所以打印的i为下面定义的全局变量的i,所以i=8
从这个例子就能很好的理解里,在函数外定义的变量,因为可以被任何代码使用,所以为全局变量,而在函数内部定义的变量,因为只能在函数内部使用,当函数结束时,这个变量就结束了,不能再被外面的代码调用了,所以为局部变量。也可以按字面意思理解,全局变量就是全局所有的都可以使用的变量,而局部变量,局部就可以理解为函数,只在函数中使用的变量。
和实际生活结合下,比如你大名叫刘阿童木,小名叫Atom,大名所有人都知道,小名只有你爸妈在家这么叫你,就可以把外面理解理解为全局的,家理解为一个函数是局部的,所以说你自己的大名在外面在家都都知道你是谁,这就可以认为是全局变量;在外面说小名都不知道你是谁,只能在家里才知道是谁,这就是局部变量。
下图为公众号二维码,内容会同步发出,大家可以关注一起学习
这个是张狗子小哥哥的公众号,会分享一些平时的工作心得,可以关注看下。