• python中的全局变量和局部变量


    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time    : 2021/3/14 16:56
    # @Author  : banzhu
    # @File    : variable.py
    """
    作用域(Scope),就是变量的有效范围,就是变量可以在哪个范围以内使用
    局部变量(Local Variable):定义在函数内部的变量是局部变量,局部变量的作用范围只能在函数内部生效,不能在函数外被引用
    全局变量(Global Variable):在整个函数中都可以访问到,但不要试图在函数内部修改全局变量的值,
    因为Python会创建一个新的局部变量替代(名字与全局变量相同),但真正的全局变量是不动的
    """
    # 局部变量:
    def myfun():
        a = 0  # 局部变量
        a += 1
        print("myfun a = ", a)
    
    def myfun2():
        a = [1, 2, 3] # 局部变量
        a = [i + 1 for i in a]
        print("myfun2  a = ", a)
    
    # 定义全局变量的方式有2种
    # 1.在函数体外定义的变量,一定是全局变量
    
    # 整数,字符串等不可更改
    a = 1  # a为全局变量
    
    def myfun():
        a = 2  # 局部变量
        a += 1
        print("函数中 a = ", a)
    
    myfun()
    print("函数外 a = ", a)
    
    # 2.在函数体内定义全局变量,使用global关键字对变量进行修饰后,该变量会变为全局变量
    
    # 利用global关键字 引用全局变量
    a = 1
    
    def myfun():
        global a  # 使用a之前用global
        a += 1
        print("函数中 a = ", a)
    
    myfun()
    print("函数外 a = ", a)
    
    # 获取指定作用域(全局或局部)内所有的变量
    # 1.globals()函数。返回一个包含全局范围内所有变量的字典,该字典中的每个键值对,键为变量名,值为该变量的值
    # 2.locals()函数。在函数内部调用 locals() 函数,会获得包含所有局部变量的字典;而在全局范文内调用 locals() 函数,其功能和 globals() 函数相同
    # 3.vars()函数。vas(object)返回一个指定 object 对象范围内所有变量组成的字典,如果不传入object 参数,vars() 和 locals() 的作用完全相同。
    处在这个俗世,也得让自己变得更好吧
  • 相关阅读:
    解决docker-compose: command not found
    idea 包存在提示不存在
    使用haproxy负载均衡
    docker使用阿里云仓库上传与下拉images
    docker使用官方仓库上传与下拉images
    WeaveScope-容器监控
    matlab打开
    硬盘测试
    matlab quiver()画箭头的函数
    SDK 和 API 的区别是什么?
  • 原文地址:https://www.cnblogs.com/butaileng7/p/14534279.html
Copyright © 2020-2023  润新知