• python项目_全局变量和函数嵌套


    1.全局变量和局部变量

    # 1.定义全局变量
    c1 = 91    #顶格写的就是全局变量
    
    # (1) 局部变量
    def func():
        # 定义局部变量
        a = 5   ##有缩进的就是局部变量
    
    局部变量和全局变量因为所在空间不一样,所以不会有影响
    
    范例:
     
    c = 6
    
    def func():
        c = 7
    func()

    2.函数内修改全局变量,函数外修改修改局部变量

    # 2.在函数内部可以修改全局变量 使用global 关键字 
    '''先用global 把这个变量声明一下,在进行修改,一般放在函数的开头位置'''
    def func():
        global c1
        print(c1)
        c1 = 93
        
    func()
    """
    # global 总结:
    如果函数外部有这个全局变量,在函数内部使用global关键字,可以修改全局变量
    如果函数外部没有这个全局变量,在函数内部使用global关键字,可以定义一个全局变量;
    """
    
    def outer():
        a = 10
        def inner():
            nonlocal a
            a = 11
            print(a,1)
        inner()
        print(a,2)
    outer()
    
    #(3) nonlocal 只能修饰局部变量,当所有层级找不到的时,直接报错;

    3.LEGB原则(即就近原则找变量)

        #找寻变量的调用顺序采用LEGB原则(即就近原则)
        B —— Builtin(Python);Python内置模块的命名空间      (内建作用域)
        G —— Global(module); 函数外部所在的命名空间        (全局作用域)
        E —— Enclosing function locals;外部嵌套函数的作用域(嵌套作用域)
        L —— Local(function);当前函数内的作用域            (局部作用域)
        依据就近原则,从下往上 从里向外 依次寻找
  • 相关阅读:
    4-1 zookeeper常用命令行操作
    3 zookeeper 基本数据模型
    2 ZooKeep安装
    1 zookeeper的特性
    js数据类型
    javascript中的严格模式
    2 Vue中组件开发
    1 Vue的基础语法
    责任链设计模式
    四中网络专线接入方式
  • 原文地址:https://www.cnblogs.com/jalen-123/p/13173698.html
Copyright © 2020-2023  润新知