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
  • 相关阅读:
    搭建 structs2 环境
    数据库基础
    好书推荐整理
    Java 完美判断中文字符
    中文在unicode中的编码范围
    [转载]爬虫的自我解剖(抓取网页HtmlUnit)
    web应用配置
    简单的Java Web服务器
    dos基本命令
    Unrecognized Windows Sockets error: 0: JVM_Bind
  • 原文地址:https://www.cnblogs.com/emanlee/p/15835744.html
Copyright © 2011-2022 走看看