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

    Python 全局变量

    局部变量就是定义在一个函数体内部的变量
    全局变量是定义在外面的变量

    a = 1 # 全局变量是定义在函数、类外面的变量
    def f():
        b = 2 # 局部变量
    
    print(a) # 全局变量

    引用全局变量

    a = 1 # 全局变量a 是定义在函数、类外面的变量
    print("line 2",id(a))
    def f():
        b = a # # 全局变量 a
        print("in f() ",id(a))
    
    f()

    输出结果:

    line 2 140719972816656
    in f()  140719972816656

    修改全局变量的值

    下面的代码,在f()中修改a,此时a为新的同名变量,是一个局部变量

    a = 1 # 全局变量a 是定义在函数、类外面的变量
    print("line 2",id(a))
    def f():
        a = 2 # # 全局变量 a ? 还是局部变量 a?
        print("in f() ",id(a))
    
    f()

    输出结果:

    line 2 140719972816656
    in f()  140719972816688

    如果想在函数里面对全局变量进行修改,可以加关键词 global

    a = 1 # 全局变量a 是定义在函数、类外面的变量
    print("line 2",id(a))
    def f():
        global a
        a = 2 # # 全局变量 a ? 还是局部变量 a?
        print("in f() ",id(a))
    
    f()

    输出结果:

    line 2 140719972816656
    in f()  140719972816688

    再看一个示例:

    a = 1 # 全局变量a 是定义在函数、类外面的变量
    print("line 2",id(a))
    def f():
        global a
        a = 2 # # 全局变量 a ? 还是局部变量 a?
        print("in f() ",id(a))
        print(a)
    f()
    print("line 2",id(a))
    print(a)

    输出结果:

    line 2 140719966328592
    in f()  140719966328624
    2
    line 2 140719966328624
    2
  • 相关阅读:
    linux 上安裝lnmp
    html 禁用点击事件
    nftables 是什么? 提供什么功能? 如何使用?
    ESXi主机RAID卡_HBA卡_网卡 型号_固件_驱动查询
    Celery Beat定时任务
    Centos 7/8 安装Rabbit-MQ
    Celery 最佳实践
    Django 3.0 + Celery 4.4 + RabbitMQ
    C语言Socket示例
    深入理解计算机系统 — 读书笔记
  • 原文地址:https://www.cnblogs.com/emanlee/p/15835744.html
Copyright © 2011-2022 走看看