专栏首页海天一树小朋友学Python(27):全局变量的引用和修改

小朋友学Python(27):全局变量的引用和修改

一、引用

例1

a = 1
def func():
    if 1 == a:
        print("a = %d" % a)
if __name__ == '__main__':
func()

运行结果:

a = 1

二、修改

例2

a = 1
def func():
    a = 2
    print ("in func a:", a)
if __name__ == '__main__':
    print("before func a:", a)
    func()
    print("after func a:", a)

运行结果:

before func a: 1
in func a: 2
after func a: 1

说明: 从程序运行结果可以看出,全局变量a的值,并没有成功被修改为2. 这是因为,func()中的a,是一个局部变量,是在新的内存区域生成的一个新对象,只是名字也叫a罢了。

例3

a = 1
def func():
    global a
    a = 2
    print ("in func a:", a)
if __name__ == '__main__':
    print("before func a:", a)
    func()
    print("after func a:", a)

运行结果:

before func a: 1
in func a: 2
after func a: 2

说明:加了global之后,func中的a就是第一行定义的全局变量a,所以可成功修改值

三、结论

若只是引用全局变量,不需要加global关键字; 若要修改全局变量,需要加global关键字。

本文分享自微信公众号 - 海天一树(gh_de7b45c40e8b),作者:木又寸

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 苏宁易购膨胀红包2月24日六人起抢新算法详细解析

    cover.jpg 到了2月24日,很多人发现苏宁易购膨胀红包领取流程变复杂了,其主要原因在于红包算法的改变。 一、2月23日五人起抢的算法 重要规则: (1)...

    海天一树
  • 小朋友学C++(11):“箭头(->)”和“点号(.)”操作符的区别

    先看一个程序: #include <iostream> using namespace std; class A { public: void play...

    海天一树
  • Neo4j学习(1):Neo4j是什么

      最简单的图是单节点的,一个记录,记录了一些属性。一个节点可以从单属性开始,成长为成千上亿,虽然会有一点点麻烦。从某种意义上讲,将数据用关系连接起来分布到不同...

    海天一树
  • 73-递归函数计算阶乘

    凯茜的老爸
  • go语言的匿名函数

    1-声明一个匿名函数 func(参数列表) 返回值列表 { 函数体… } 2-匿名函数的调用

    李海彬
  • package sync

    sync包提供了基本的同步基元,如互斥锁。除了Once和WaitGroup类型,大部分都是适用于低水平程序线程,高水平的同步使用channel通信更好一些。

    李海彬
  • 基础知识 | 每日一练(168)

    士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ...

    C语言入门到精通
  • Using get_defined_functions To Hidden A PHP Backdoor

    webshell隐藏是渗透当中一个很重要的权限维持技术,目前也有各种各样的隐藏方法,pen-tester的思路也越来越开放(weisuo)。这篇文章主要记录一下...

    风流
  • Using get_defined_functions To Hidden A PHP Backdoor

    风流
  • 可怕的extern关键字一、不利之处二、例子三、分析四、正确做法

    如果函数原型改变的话,每个extern声明的地方都要改一遍。 如果有地方没改到呢? 我们通过一个例子来看下悲剧是怎么发生的。

    coderhuo

扫码关注云+社区

领取腾讯云代金券