欢迎关注小睿的微信公众号:郭小睿同学,每天更新小知识、笔记、案例、学习资源~


在被调用函数赋值的变元和变量,处于该函数的局部作用域。
在所有函数之外赋值的变量,属于全局作用域。
处于局部作用域的变量,叫局部变量。
处于全局作用域的变量,叫全局变量。
一个变量不可能既是局部变量,又是全局变量。

全局作用域的变量,在程序被销毁时候,全局变量就会被丢弃。
局部作用域的变量,在局部运行完后,局部变量也就会被丢弃。
- 全局作用域的代码不能使用任何局部变量。
- 但是局部作用域可以访问全局变量。
- 一个函数的局部作用域的中的代码,不能使用其他局部作用域中的变量。
- 可以在不同的作用域中,用相同的名字命名不同的变量。
如果所有变量都定义为全局变量,当使用特定函数修改变量时,别的地方再次使用其变量值的时候,就会受到影响。
因此在小程序中使用全局变量不会造成太大的问题,但是在大程序中,依赖全局变量就是一个坏的习惯。
一般在实际开发中,我们应该避免在不同的作用域使用相同变量名,防止追踪某一时刻使用的是哪个变量,引起不必要的麻烦。

global语句
如果需要一个函数修改全局变量,应该使用global语句。
def spam():
global eggs
eggs = "spam"
eggs = "global"
spam()
print(eggs)
控制台输出:


程序剖析
eggs是全局变量,但是在spam()函数中,我们针对eggs变量使用了global关键字,因此在局部修改了eggs变量的值。

变量作用域解析

本文深入讲解了局部变量和全局变量的概念,以及它们在不同函数和作用域中的使用规则。通过实例,阐述了如何通过global语句修改全局变量,并强调了在大型程序中过度依赖全局变量的弊端。
203

被折叠的 条评论
为什么被折叠?



