当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。

使用局部变量

例7.3 使用局部变量

#!/usr/bin/python

# Filename: func_local.py

deffunc(x):

print'x is', x

x =2

print'Changed local x to', x

x =50

func(x)

print'x is still', x

(源文件:code/func_local.py)

输出

$ python func_local.py

x is 50

Changed local x to 2

x is still 50

它如何工作

在函数中,我们第一次使用x的 值 的时候,Python使用函数声明的形参的值。

接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。

在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。

使用global语句

如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。

你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。

例7.4 使用global语句

#!/usr/bin/python

# Filename: func_global.py

deffunc():

globalx

print'x is', x

x =2

print'Changed local x to', x

x =50

func()

print'Value of x is', x

(源文件:code/func_global.py)

输出

$ python func_global.py

x is 50

Changed global x to 2

Value of x is 2

它如何工作

global语句被用来声明x是全局的——因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。

你可以使用同一个global语句指定多个全局变量。例如global x, y, z。

python 库 全局变量_python局部变量和全局变量global相关推荐

  1. python局部变量转全局变量_python局部变量和全局变量

    python局部变量和全局变量 发布时间:2020-08-31 00:01:13 来源:51CTO 阅读:98 作者:qq5d6f345f0205e 在python开发中,变量也是有生命周期的,一旦周 ...

  2. php局部全局变量,PHP局部变量与全局变量

    一.局部变量 定义:在函数内部声明,且只能在函数内部调用的变量. 注意:参数也是局部变量的一种. demo1: 1 function demo1(){ 2     $age = 10; 3 } 4 5 ...

  3. [Python学习] 专题六.局部变量、全局变量global、导入模块变量

    定义在函数内的变量有局部作用域,在一个模块中最高级别的变量有全局作用域.本文主要讲述全局变量.局部变量和导入模块变量的方法.         参考:<Python核心编程 (第二版)> 一 ...

  4. python 局部变量输出到全局_Python局部变量与全局变量

    Python中的局部全局与全局变量主要体现在函数内的变量与函数外的变量. 局部与全局就是变量的作用域(作用范围). 当你在函数内部定义变量的时候,它们与函数外具有相同名称的变量没有任何关系,即变量对于 ...

  5. python怎样设置全局变量_Python教程之全局变量用法

    本文实例讲述了Python全局变量用法.分享给大家供大家参考,具体如下: 全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常量.今天有同事问一个关于全局变量的问题,才发现其中原来还有门道. ...

  6. python 使用全局变量_Python教程之全局变量用法

    Python教程之全局变量用法 本文实例讲述了Python全局变量用法.分享给大家供大家参考,具体如下: 全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常量.今天有同事问一个关于全局变量 ...

  7. python声明全局变量_python怎样声明全局变量

    python中定义全局变量可以使用global关键字 global介绍 在编写程序的时候,如果想为一个在函数外的变量重新赋值,并且这个变量会作用于许多函数中时,就需要告诉python这个变量的作用域是 ...

  8. pythonclass全局变量_python怎么使用全局变量

    在编写程序的时候,如果想为一个在函数外的变量重新赋值,并且这个变量会作用于许多函数中时,就需要告诉python这个变量的作用域是全局变量.此时用global语句就可以变成这个任务,也就是说没有用glo ...

  9. python 库下载_python库(whl)文件下载地址

    一般来说我们使用pip install MySQL-Python来安装是没什么问题的但是有时候由于版本问题需要我们自己去下载对应的版本 python库(whl)文件下载地址: 赠送一个简单的爬虫代码i ...

最新文章

  1. 全面访问JavaScript的最佳资源
  2. HTML转WORD WORD转PDF--来源网络
  3. 学习一下rails hash 的方法
  4. Android清单文件详解(三)----应用程序的根节点application
  5. idea terminal中文乱码_Terminal优雅的办公带来超高的效率
  6. Oracle 11g客户端及PLSQL Developer配置|Instant Client Setup-64位|OraClientLite11g_x86
  7. 【渝粤教育】 国家开放大学2020年春季 1129土木工程力学(本) 参考试题
  8. 【王道计组笔记】输入/输出设备磁盘
  9. PHP中header和session_start前不能有输出的原因
  10. sklearn——model_selection——knn手写识别系统+iris分类
  11. Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系
  12. mongodb的基本使用
  13. 如何查看XP系统的密匙
  14. 什么软件可以支持视频转换成文字?
  15. Mysql对应的dul_DUL 恢复简单表测试
  16. 一个虎扑社区数据分析实战
  17. i.MX6ULL GPIO
  18. python win10 桌面_利用Python批量提取Win10锁屏壁纸实战教程
  19. 第一次找工作/实习前需要准备的东西(互联网行业)
  20. jitpack.io 无法访问或下载依赖库

热门文章

  1. CF888G XOR-MST 最小异或生成树
  2. SQL UPDATE with INNER JOIN
  3. 卸载全部appx应用(包括应用商店)
  4. 如何更改Visual Studio 2008中类文件引用的默认名称空间?
  5. C#与VB.NET代码互相转换在线工具
  6. python文件的读取与写入_python中文件的读取与写入以及os模块
  7. python数字转中文字符_Python实现中文数字转换为阿拉伯数字的方法示例
  8. wps表格粗线和细线区别_详解论文中的表格技术
  9. 命名空间不能直接包含字段或方法之类的成员是什么意思_Python 学习笔记之类与实例...
  10. mysql怎么按年份分组_mysql - MYSQL按ID分组,但根据最近的年份进行拉取 - SO中文参考 - www.soinside.com...