ToB企服应用市场:ToB评测及商务社交产业平台

标题: python 作用域与命名空间 [打印本页]

作者: 惊雷无声    时间: 2022-9-17 08:39
标题: python 作用域与命名空间
作用域

作用域分为:
在函数内部的作用域叫做局部作用域,局部作用域中的变量叫做局部变量
非函数内部的作用域叫做全局作用域,全局作用域中的变量叫做全局变量
局部作用域可以使用全局变量,全局变量不能试用局部变量
变量的使用规则: 从内向外,找到后返回
  1. def fn():
  2.         global 变量 # 现在改变量为全局变量
  3. # 注意:不可以在函数中先使用一个全局变量后在用该变量命名局部变量
  4. 报错:
  5.     a = 1
  6.     def fn():
  7.         print(a) # 全局变量
  8.         a += 1 # 这个a是局部变量
  9.         
复制代码
  1. a = 1
  2. def fn1():
  3.     a = 2
  4.     def fn2():
  5.         a = 3  # a = 4
  6.         def fn3():
  7.             nonlocal a
  8.             a = 4
  9. 报错:
  10.     b = 1
  11.     def fn():
  12.         nonlocal b            
复制代码
命名空间
  1. 命名空间: python中的所有变量都被存储在命名空间内,每个作用域都有一个命名空间
  2.                 命名空间本质就是一个字典,是用来存储变量的字典
  3. locals():获得挡前作用域的命名空间
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4