1. 文档说明

在python3.3.2的官方api帮助文档上看到, 如下一段话:

The global statement is a declaration which holds for the entire current code block. It means that the listed identifiers are to be interpreted as globals. It would be impossible to assign to a global variable without global, although free variables may refer to globals without being declared global.

Names listed in a global statement must not be used in the same code block textually preceding that global statement.

Names listed in a global statement must not be defined as formal parameters or in a for loop control target, class definition, function definition, or import statement.

翻译成中文大概意思是:

global语句是适用于当前整个代码块的声明。它是全局变量的标识符。如果某名字在局部名字空间中没有定义, 就自动使用相应的全局名字. 没有global是不可能手动指定一个名字是全局的.在 global 中出现的名字不能在global 之前的代码中使用.在 global 中出现的名字不能作为形参, 不能作为循环的控制对象, 不能在类定义, 函数定义, import语句中出现.

与nonlocal关键字的区别:

global语句用以知名某个特定的变量为全局作用域,并重新绑定它。nonlocal语句用以指明某个特定的变量为封闭作用域,并重新绑定它。

2. 实例说明

def scope_test():

def do_local():

spam = "local spam"

def do_nonlocal():

nonlocal spam

spam = "nonlocal spam"

def do_global():

global spam

spam = "global spam"

spam = "test spam"

do_local()

print("After local assignment:", spam)

do_nonlocal()

print("After nonlocal assignment:", spam)

do_global()

print("After global assignment:", spam)

scope_test()

print("In global scope:", spam)

备注:该实例代码来源于python3.3.2 官方文档。

运行结果是:

可以看到,只有在与定义方法相平行的代码中输出全局变量的值。

def do_global():

global spam

spam = "global spam"

假设去掉global关键字,运行就会出如下结果:

意思说 span没有被定义。

总结:

全局变量的使用是为了使我们在一个类或一个函数中使用由函数返回的变量,

并进行复杂的计算过程而使用。而对于一个函数的局部变量,则只在一个函数内部是

可使用的,而如果需要跨越不同的函数或者类则需要在基础函数中返回一个该值,在

下一个函数中运行其方法才能获取该值进行计算,如果程序不复杂在一个类中可以解决。全

局变量会为我们节省不少的时间,以及内存空间。

global在python中啥意思_Python中global用法详解相关推荐

  1. python count函数代码_python count函数用法详解_后端开发

    fgetc函数的作用详解_后端开发 fgetc函数的作用是从指定文件读入一个字符,要求文件的打开方式必须是以读或读写的方式或者追加的方 式,只写方式是不能读的. 在python中可以使用"c ...

  2. python zipfile模块分卷_python zipfile模块用法详解

    python对zip格式的支持很简单,且好用. 1)简单应用 用python来做压缩和解压缩的简单用法. 代码示例: import zipfile f = zipfile.ZipFile('filen ...

  3. python中iter函数_Python iter()函数用法详解

    Python iter()函数用法实例分析 本文实例讲述了Python iter()函数用法.分享给大家供大家参考,具体如下: python中的迭代器用起来非常灵巧,不仅可以迭代序列,也可以迭代表现出 ...

  4. python横向输出字符串_Python字符串及用法详解

    字符串是由数字.字母.下画线组成的一串字符,在编程语言中表示文本的数据类型.在 Python 2.X 中,普通字符串是以 8 位 ASCII 码进行存储的,而 Unicode 字符串则以 16 位 U ...

  5. python多个strip_python 格式化多个Python3中strip()、lstrip()、rstrip()用法详解

    Python中有三个去除头尾字符.空白符的函数,它们依次为: strip: 用来去除头尾字符.空白符(包括n.r.t.' ',即:换行.回车.制表符.空格) lstrip:用来去除开头字符.空白符(包 ...

  6. python中rstrip用法_浅谈Python3中strip()、lstrip()、rstrip()用法详解

    简单来说,三种方法是为了删除字符串中不同位置的指定字符.其中,strip()用于去除字符串的首尾字符,同理,lstrip()用于去除左边的字符,rstrip()用于去除右边的字符 Python中有三个 ...

  7. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

  8. linux cp -r 参数,Linux系统中cp命令的参数及用法详解

    Linux系统中cp命令主要是用来复制文件或者目录.下面由学习啦小编为大家整理了Linux系统中cp命令的参数及用法详解的相关知识,希望对大家有帮助! Linux系统中cp命令的参数及用法详解:参数说 ...

  9. linux 移动剪切命令,Linux中vi的复制命令的用法详解

    在Linux系统中,使用VI编辑的时候经常用到的操作就是复制粘贴,那么下面由学习啦小编为大家整理了linux中vi的复制命令的用法详解的相关知识,希望对大家有帮助! Linux中vi的复制命令的用法详 ...

  10. linux中替换命令详解,linux中sed命令字符串替换的用法详解

    Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...

最新文章

  1. 动态设置 GridView Web 服务器控件列宽
  2. 从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码)
  3. ASP.NET Core 中文文档 第四章 MVC(4.2)控制器操作的路由
  4. sscanf函数—(sprintf的反)
  5. VirtualBox虚拟机网络环境解析和搭建-NAT、桥接、Host-Only、Internal、端口映射
  6. java ee cdi_Java EE CDI依赖关系消歧示例
  7. 断网情况下安装python_断网环境下利用pip安装Python离线安装包
  8. 微信小程序报thirdScriptError Cannot read property 'setData' of undefined
  9. 图片上传插件WebUploader的坑
  10. Linux ext4文件系统下 extundelete 恢复 误删除的文件
  11. Spring声明式事物DataSourceTransactionManager的使用与jdbcTemplate的使用
  12. Fiddler抓包工具之详细使用步骤(超详细)
  13. Mac影音多媒体工具软件推荐
  14. 计算机网络谢希仁第七版 第二章 课后答案
  15. 用计算机求和公式,全国计算机一级等考excel之sum求和函数
  16. C++ 直接计算多项式的值
  17. OTA制作及升级过程
  18. xx公司网站建设方案
  19. python中for无限循环_关于循环:在Python中从1循环到无穷大
  20. android u盘地址,android 9.0 获取U盘路径

热门文章

  1. python摄像头识别快递单号,python 人脸识别以及条码识别(快递出库软件)
  2. 基于Matlab的空中交通管制仿真(附源码)
  3. 声音信号 dB 及 dBA 的计算方式
  4. python处理图片水印
  5. 配合理lcd的c语言小游戏,51单片机+LCD12864做的贪食蛇和俄罗斯方块小游戏分享
  6. PC端浏览器兼容测试总结
  7. 网站如何添加访客统计代码
  8. 在 Parallels Desktop 中,全屏模式使用 Win7,唤醒时黑屏
  9. 有没有测试适合哪种发型的颜色软件,染发小测试 看看你的头发适合哪种颜色...
  10. JavaScript实现涂鸦笔