博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 全局变量
阅读量:4592 次
发布时间:2019-06-09

本文共 923 字,大约阅读时间需要 3 分钟。

#-*- coding:utf-8 -*-'''在python中,不存在类型的说法,导致python定义与赋值的界限并不是那么清楚'''num = 0def test1():        #python中此处的num变量被理解为定义了一个num的临时变量并且完成赋值        #并非是修改全局变量num,C语言中因为存在类型,所以变量的定义与变量的赋值不会混淆,python不存在类型的概念,所以此处产生了歧义        num = 10test1()print(num) #打印0 并没有修改变量#在python中如果修改在函数中修改一个全局变量的值,需要使用global关键字来申明一下def test2():        global num        num = 22test2()print("="*10)print(num)#global的作用范围只是他自己的作用域,超过作用域将没有效果def test3():        num = 33print("*"*10)print(num)  #打印22 num的值没有发生变化
#-*- coding:utf-8 -*-#测试全局变量是否需要声明才能使用g_list = [1,2,3,4,5]g_num =100def tetsGlobal():        print(g_num)        for a in g_list:                print(a)tetsGlobal()#结果:函数中可以正常打印全局变量#结论:如果存在全局变量与局部变量同名,需要声明全局变量,其他场景下不加也不会报错#推荐在函数开头加上全局声明#推荐写法def correctFun():        global g_num        print("==推荐写法===")        print(g_num)        g_num = 20        print(g_num)correctFun()print(g_num)

 

转载于:https://www.cnblogs.com/zhanggaofeng/p/9229967.html

你可能感兴趣的文章
sql JOIN语句应注意on与where的区别
查看>>
[转载]python 详解re模块
查看>>
【经验】在CSS中定义a:link、a:visited、a:hover、a:active顺序
查看>>
Linux搭建maven私服
查看>>
中兴机试
查看>>
Node.js的颠覆者:PHP的Swoole扩展
查看>>
Binary Tree的3种非Recursive遍历
查看>>
PCL AllInOne msvc2017 下载
查看>>
电影天堂,批量下载,简单实现
查看>>
oracle 12c 加入系统服务
查看>>
未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的程序...
查看>>
【转载】《Flexpaper二次开发入门教程》(十) Flexpaper简单使用-第一个Flexpaper例子(4.1节) ......
查看>>
如何深入思考
查看>>
用逗号隔开简单数据保存为csv
查看>>
POJ-1860 Currency Exchange SPFA判断环
查看>>
xampp+eclipse环境下使用phpunit
查看>>
python的类和对象(1)
查看>>
一个动态内存管理模块的实现
查看>>
url 编码(percentcode 百分号编码)
查看>>
队列课下作业
查看>>