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
  • 相关阅读:
    Model2
    servlet_获取初始化参数
    Java_Reflect反射
    Java Web_过滤器
    JSP状态管理_1_Cookie
    JSP_内置对象_session
    Sql Server中的数据类型和Mysql中的数据类型的对应关系(转)
    组合权限查询 SQL,UniGUI
    BIM 3D 数据交换格式 ----张建平(清华女)
    即速应用_微信小程序开发 http://www.jisuapp.cn/
  • 原文地址:https://www.cnblogs.com/emanlee/p/15835744.html
Copyright © 2011-2022 走看看