Python 2-2 函数 变量作用域

变量作用域

通常而言,在编程语言中,变量的作用域从代码结构形式来看,有块级、函数、类、模块、包等由小到大的级别。但是在 Python 中,没有块级作用域,也就是类似 if 语句块、for 语句块、with 上下文管理器等等是不存在作用域概念的,他们等同于普通的语句。

if True:            # if语句块没有作用域
    x = 1   
print(x)

def func():         # 函数有作用域
    a = 8  

print(a)
NameError: name 'a' is not defined

通常,函数内部代码可以访问外部变量,而外部代码通常无法访问内部变量。

Python的作用域一共有4层,分别是:

  • L (Local) 局部作用域
  • E (Enclosing) 闭包函数外的函数中
  • G (Global) 全局作用域

猜你喜欢

转载自blog.csdn.net/weixin_43955170/article/details/112771801