|
|
|
|
移动端

3.1.5 关键字 global

《自学Python:编程基础、科学计算及数据分析》第3章Python 进阶,在本章中,我们将学习 Python的一些进阶用法,包括函数的进阶,迭代器、生成器、装饰器、上下文管理器的使用,以及 Python中的变量作用域。本节为大家介绍关键字 global。

作者:李金来源:机械工业出版社|2018-05-04 13:26

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

3.1.5 关键字 global

我们可以在函数中直接使用外部变量的值。

例如,在函数 foo()中,我们打印出外部变量 x的值:

  1. In [1]: x = 15 
  2. ln [2]: def foo():   ...:     print x   ...:  
  3. In [3]: foo() 15 

不过,如果我们在函数中,给外部变量 x赋值,外面的 x不会变化:

  1. In [4]: x = 15   
  2. In [5]: def foo():  
  3.  
  4.    ...:      x = 18 
  5.    ...:      print x  
  6.    ...:  
  7.  
  8. In [6]: foo() Out[6]: 18 In [7]: x Out[7]: 15 

foo函数打印的 x是 18,但外部变量 x仍然是 15。在函数里直接给 x赋值不会影响外面的变量x。

在函数中,我们可以使用关键字 global来给外部变量重新赋值,只需要在函数中用global声明一下外部变量x,并在函数里给 x赋值:

  1. In [8]: x = 15 
  2. In [8]: def foo():  
  3.    ...:     global x  
  4.    ...:     x = [1, 2, 3]  
  5.    ...:     print x  
  6.    ...: 

此时,调用 foo()会改变外部变量 x的值:

  1. In [9]: foo()  
  2. Out[9]: [1, 2, 3]  
  3. In [10]: x  
  4. Out[10]: [1, 2, 3] 


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网管第一课——计算机网络原理

本书是《网管第一课》系列图书中的第一本,是专门针对高校和培训机构编写的,其主要特点是内容细而精、针对性强。书中内容全是经过精心挑选...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊