iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python作用域用法实例详解
  • 935
分享到

Python作用域用法实例详解

详解实例作用 2022-06-04 19:06:23 935人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本文实例分析了python作用域用法。分享给大家供大家参考,具体如下: 每一个编程语言都有变量的作用域的概念,Python也不例外,以下是Python作用域的代码演示: def scope_test()

本文实例分析了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)

程序的输出结果:


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

注意: 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())

运行结果:


1
2
3

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

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

--结束END--

本文标题: Python作用域用法实例详解

本文链接: https://www.lsjlt.com/news/15166.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js词法作用域与this实例详解
    目录前言实践总结前言 静态作用域又叫做词法作用域,采用词法作用域的变量叫词法变量。词法变量有一个在编译时静态确定的作用域。词法变量的作用域可以是一个函数或一段代码,该变量在这段代码区...
    99+
    2024-04-02
  • 实例详解JavaScript静态作用域和动态作用域
    目录前言 静态作用域与动态作用域 静态作用域执行过程 动态作用域执行过程 习题 习题一 习题二 习题三 总结 前言 在文章最开始,先学习几个概念: 作用域:《你不知道的j...
    99+
    2024-04-02
  • Python变量的作用域详解
    目录总结每个变量都有自己的作用域,在作用域外使用该变量非法 函数体内的变量为函数的局部变量,在函数体外不可使用 >>>def f(): x=5 >&...
    99+
    2024-04-02
  • python中defaultdict用法实例详解
    目录defaultdict底层代码:setdefault()和defaultdict()的区别:setdefault() defaultdict()总结 defa...
    99+
    2024-04-02
  • Python中self用法实例详解
    在介绍Python的self用法之前,先来介绍下Python中的类和实例……我们知道,面向对象最重要的概念就是类(class)和实例(instance),...
    99+
    2023-03-22
    Python中self用法 Python中self用法
  • javascript作用域和作用域链详解
    目录一、javascript的作用域1、全局作用域2、局部作用域二、javascript的作用域链三、作用域链和优化四、改变作用域链1、with语法改变作用域链2、catch语法总结...
    99+
    2024-04-02
  • Python中变量的作用域详解
    目录1、作用于的概念2、局部变量3、全局变量4、变量的查找5、作用域中可变数据类型变量6、多函数程序执行流程总结1、作用于的概念 变量作用域指的是变量生效的范围,在Python中一共...
    99+
    2024-04-02
  • python中format的用法实例详解
    目录1、基本用法1. 按照{}的顺序依次匹配括号中的值2. 通过索引的方式去匹配参数3. 通过参数名来匹配参数4. 混搭使用2、进阶用法1. 通过对象的属性2. 支持对参数部分引用3...
    99+
    2024-04-02
  • Python包中__init__.py文件的作用与用法实例详解
    目录前言一、__init__.py文件简介二、__init__.py文件的使用案例2.1、没有__init__.py文件的目录,使用import xx.xx会报错吗?2.2、在__i...
    99+
    2024-04-02
  • 详解JavaScript作用域
    这篇文章主要介绍“详解JavaScript作用域”,在日常操作中,相信很多人在详解JavaScript作用域问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”详解JavaScri...
    99+
    2024-04-02
  • Python3基础-Python作用域详
    转载文章 作者:骏马金龙 出处:http://www.cnblogs.com/f-ck-need-u/p/9925021.html 作用域是指变量的生效范围,例如本地变量、全局变量描述的就是不同的生效范围。 python的变量作用域的...
    99+
    2023-01-30
    作用 基础 Python
  • Python中变量的作用域实例分析
    这篇“Python中变量的作用域实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中变量的作用域实例分析”文...
    99+
    2023-06-29
  • Vue3 setup 的作用实例详解
    目录setup 具体怎么用:setup 的数据和方法如何使用?setup 参数setup 特性总结:总结:Vue3中setup函数的作用与实现从 vue2 升级 vue3,vue3 ...
    99+
    2022-12-29
    Vue3 setup 的作用 Vue3 setup
  • JavaScript作用域实例分析
    这篇文章主要讲解了“JavaScript作用域实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript作用域实例分析”吧!  ...
    99+
    2024-04-02
  • Python函数中的作用域规则详解
    目录1、简单介绍一下闭包2、在Python中,并不是任何代码块都能引入新的作用域3、在Python中,名字绑定在所属作用域中引入新的变量,同时绑定到一个对象。总结Python是静态作...
    99+
    2024-04-02
  • Python 中的json常见用法实例详解
    目录导包api介绍常见用法json转python内置对象字典对象数组对象文件读取python内置对象转json字典转json 字典转json(压缩存储) 字典转j...
    99+
    2022-12-28
    python json用法 python json Python json常见用法
  • Python中np.random.randint()参数详解及用法实例
    目录可实现功能:np.random.randint() 根据参数中所指定的范围生成随机 整数。参数一、基础用法二、高级用法总结可实现功能: 1.随机生成一个整数。 2.随机生成任意范...
    99+
    2024-04-02
  • Javascript的作用域、作用域链以及闭包详解
    一、javascript中的作用域 ①全局变量-函数体外部进行声明 ②局部变量-函数体内部进行声明 1)函数级作用域 javascript语言中局部变量不同于C#、Java等高级语言...
    99+
    2024-04-02
  • Python操作xlwings的实例详解
    目录数据来源上手pandas读取表1-2的数据xlwings获取表1-1sheetxlwings修改表1-1数据总结阿里云产品费用巡检,一般流程是登录账号,再逐项核对填写。虽然简单,...
    99+
    2024-04-02
  • Oracle addBatch()用法实例详解
    Oracle addBatch()用法实例详解 PreparedStatement.addbatch()的使用 Statement和PreparedStatement的区别就不多废话了,直接说Prepa...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作