zoukankan      html  css  js  c++  java
  • Python全局变量和局部变量

    Python全局变量和局部变量:

    定义在函数内的为局部变量,在外部访问局部变量会出现未定义的错误

    定义在函数外的变量称为全局变量,可以在整个函数范围内访问

    当函数中存在与全局变量重名的变量,以函数中的局部变量为准

    定义在函数中的局部变量的作用域只在函数中

    # 定义全局变量 total
    total = 0
    
    def add(num1,num2):
        # 定义局部变量 total
        total = num1 + num2
        # 输出局部变量
        print(total)
        
    
    add(4,6)
    # 10
    print(total)
    # 0

    在函数内部,如果想要修改外部变量时,可以使用 global 或 nonlocal 关键字

    global 全局变量名:

    在函数中使用全局变量,可以对全局变量进行修改。

    注:如果只是在函数中使用了和全局变量相同的名字,则只是局部变量

    # 定义全局变量 total
    total = 0
    
    def add(num1,num2):
        # 使用 global 关键字声明全局变量 total
        global total
        total = num1 + num2
        # 输出全局变量
        print(total)
    
    add(4,6)
    # 10
    # 输出全局变量
    print(total)
    # 10

    nonlocal 嵌套作用域中的变量(嵌套函数,外层函数与内层函数之间):

    修改嵌套函数之间的变量

    # nonlocal 嵌套作用域中的变量(嵌套函数,外层函数与内层函数之间):
    # 修改嵌套函数之间的变量
    
    def func_out():
        num = 5
        def func_inner():
    
            # 使用嵌套函数中的 num 值
            nonlocal num
    
            num = 10
            print("最内部函数中的 num 的值:",num)
        func_inner()
        print("嵌套函数中的 num 的值:",num)
    func_out()
    # 最内部函数中的 num 的值: 10
    # 嵌套函数中的 num 的值: 10

     


    2020-02-12

  • 相关阅读:
    SQLServer多表连接查询
    SQLServer基本查询
    SQLServer索引
    SQLServer之数据类型
    设计模式小结
    SQL跨项目查询语法
    利用CountDownLatch和Semaphore测试案例
    JUC包下Semaphore学习笔记
    JUC包下CountDownLatch学习笔记
    JUC包下CyclicBarrier学习笔记
  • 原文地址:https://www.cnblogs.com/hany-postq473111315/p/12298147.html
Copyright © 2011-2022 走看看