• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python作用域用法实例详解

Python作用域用法实例详解

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 变量作用域,python 作用域,python 函数作用域,python开发技术详解,python os模块详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例分析了Python作用域用法。分享给大家供大家参考,具体如下:

每一个编程语言都有变量的作用域的概念,Python也不例外,以下是Python作用域的代码演示:

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)

</div>

程序的输出结果:

After local assignment: test spam
After nonlocal assignment: nonlocal spam
After global assignment: nonlocal spam
In global scope: global spam

</div>

注意: local 赋值语句是无法改变 scope_test 的 spam 绑定。 nonlocal 赋值语句改变了 scope_test 的 spam 绑定,并且 global 赋值语句从模块级改变了 spam 绑定。

其中,nonlocal是Python 3新增的关键字。

你也可以看到在 global 赋值语句之前对 spam 是没有预先绑定的。

小结:

遇到在程序中访问全局变量并且要修改全局变量的值的情况可以使用:global关键字,在函数中声明此变量是全局变量

nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量。

global关键字很好理解,其他语言大体也如此。这里再举一个nonlocal的例子:

def make_counter():
  count = 0
  def counter():
    nonlocal count
    count += 1
    return count
  return counter
def make_counter_test():
 mc = make_counter()
 print(mc())
 print(mc())
 print(mc())

</div>

运行结果:

1
2
3

</div>

转自:小谈博客 http://www.tantengvip.com/2015/05/python-scope/

希望本文所述对大家Python程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • Python 如何访问外围作用域中的变量
  • Python中的变量和作用域详解
  • 深入解析Python中函数的参数与作用域
  • Python作用域用法实例详解
  • Python作用域用法实例详解
  • 解读Python编程中的命名空间与作用域
  • 解读Python编程中的命名空间与作用域
  • 优化Python代码使其加快作用域内的查找
  • 优化Python代码使其加快作用域内的查找
  • 讲解python参数和作用域的使用

相关文章

  • 详解python基础之while循环及if判断
  • Python抓取淘宝下拉框关键词的方法
  • Python模块学习 filecmp 文件比较
  • Python Socket编程入门教程
  • python新手经常遇到的17个错误分析
  • 关于tf.reverse_sequence()简述
  • Python的垃圾回收机制深入分析
  • Python最基本的数据类型以及对元组的介绍
  • python计算时间差的方法
  • python 数据加密代码

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python的Flask框架及Nginx实现静态文件访问限制功能
    • Python随机数用法实例详解【基于random模块】
    • 使用url_helper简化Python中Django框架的url配置教程
    • python中使用urllib2获取http请求状态码的代码例子
    • Python itertools模块详解
    • python实现ipsec开权限实例
    • python获得一个月有多少天的方法
    • python常规方法实现数组的全排列
    • Python的装饰器用法学习笔记
    • 用python实现批量重命名文件的代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有