• 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操作mysql中文显示乱码的解决方法
  • 最大K个数问题的Python版解法总结
  • python使用matplotlib绘制折线图教程
  • Python笔记(叁)继续学习
  • Python和perl实现批量对目录下电子书文件重命名的代码分享
  • python中使用enumerate函数遍历元素实例
  • 举例讲解Python中装饰器的用法
  • Python使用xlrd模块操作Excel数据导入的方法
  • 仅用50行Python代码实现一个简单的代理服务器
  • 用Python实现协同过滤的教程

文章分类

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

最近更新的内容

    • python实现的重启关机程序实例
    • python命令行参数解析OptionParser类用法实例
    • Python使用迭代器捕获Generator返回值的方法
    • 解读Python selenium的等待方式
    • python的迭代器与生成器实例详解
    • Python 创建子进程模块subprocess详解
    • python模块restful使用方法实例
    • 使用Python判断IP地址合法性的方法实例
    • Python 中 Meta Classes详解
    • Python使用chardet判断字符编码

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

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