• 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() 的作用完全相同。
    处在这个俗世,也得让自己变得更好吧
  • 相关阅读:
    数字证书原理,公钥私钥加密原理
    Ubuntu 文件文件夹查看权限和设置权限
    Python glob使用
    python split(),os.path.split()和os.path.splitext()函数用法
    python sys.argv[]用法
    python将图片转base64,前端显示
    log4j简单使用
    Log4j简介
    ibatis/mybatis显示sql语句 log4j.properties配置文件
    mybatis WARN No appenders could be found for logger的解决方法
  • 原文地址:https://www.cnblogs.com/butaileng7/p/14534279.html
Copyright © 2020-2023  润新知