python 作用域与命名空间

作用域

作用域分为:

创新互联服务项目包括叶县网站建设、叶县网站制作、叶县网页制作以及叶县网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,叶县网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到叶县省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

  1. 全局作用域
  2. 局部作用域

在函数内部的作用域叫做局部作用域,局部作用域中的变量叫做局部变量

非函数内部的作用域叫做全局作用域,全局作用域中的变量叫做全局变量

局部作用域可以使用全局变量,全局变量不能试用局部变量

变量的使用规则: 从内向外,找到后返回

  1. 函数作用域中命名全局变量global
def fn():
	global 变量 # 现在改变量为全局变量
# 注意:不可以在函数中先使用一个全局变量后在用该变量命名局部变量
报错:
    a = 1 
    def fn():
        print(a) # 全局变量
        a += 1 # 这个a是局部变量 
        
  1. 在函数或其他作用域中使用或修改上一层(非全局)变量nonlocal
a = 1 
def fn1():
    a = 2 
    def fn2():
        a = 3  # a = 4 
        def fn3():
            nonlocal a 
            a = 4 
报错:
    b = 1 
    def fn():
        nonlocal b            

命名空间

命名空间: python中的所有变量都被存储在命名空间内,每个作用域都有一个命名空间
		命名空间本质就是一个字典,是用来存储变量的字典
locals():获得挡前作用域的命名空间


网页标题:python 作用域与命名空间
分享链接:http://myzitong.com/article/dsogecp.html