spool文件命名引用两个变量_Python 中命名空间与作用域介绍
(给Python开发者加星标,提升Python技能)
来源:南枝向暖北枝寒MA
https://blog.csdn.net/mall_lucy/article/details/104848246
【导语】:对命名空间和作用域认识很模糊?不清楚?为了让大家有清晰的认识,本文详细介绍了命名空间类型及作用域,希望能让你对python有更深刻的认识。
一、命名空间
1.内置名称空间
存放的是一些内置函数,比如input,print,list,len等。
2.全局名称空间
存放的是当前py文件中(除去函数、类内部的)变量与值的对应关系以及函数名与函数的内存地址的对应关系。
3.局部(临时)名称空间
存放的是函数内部的变量与值的对应关系。当一个函数被调用时,开辟临时名称空间,当函数执行结束后,临时名称空间消失。如果一个函数被调用多次,则每调用一次,都要重新开辟临时名称空间。
4.加载顺序
内置命名空间(程序运行开始加载)--->全局命名空间(程序运行中加载,从上到下)--->局部命名空间(程序运行中加载,调用时才加载)
5.取值顺序
遵循就近原则(LEGB原则)1. 从局部找时,局部名称空间--->全局名称空间--->内置名称空间2. 从全局找时,全局名称空间--->内置名称空间
二、作用域
两个作用域:全局作用域和局部作用域。全局作用域:全局命名空间+内置命名空间局部作用域:局部命名空间局部作用域可以引用全局作用域的变量。但不能修改全局作用域的变量。
三、代码示例
count = 1def func(): count = 100 print(count)func() # 解释:这段代码不叫修改全局变量,而是在局部创建了一个新的变量。
count = 1def func(): count += 1 print(count)func()报错信息:local variable 'count' referenced before assignment#解释:局部作用域不能改变全局作用域的变量,当python解释器读取到局部作用域时,#发现了你对一个变量进行修改的操作,解释器会认为你在局部已经定义过这个局部变量了,#解释器就会从局部找这个局部变量,其实并没有定义,所以报错。
- EOF -
推荐阅读 点击标题可跳转
1、Python 中的作用域规则和闭包简析
2、Python 作用域和 LEGB
3、Stack Overflow 热帖:如何用 Python 调用外部命令
觉得本文对你有帮助?请分享给更多人
关注「Python开发者」加星标,提升Python技能
点赞和在看就是最大的支持❤️
spool文件命名引用两个变量_Python 中命名空间与作用域介绍相关推荐
- Python如何在循环语句中加入两个变量_Python基础知识
一.Python关键字 共:31个.注意:如果要现在自己电脑中运行我写的这些代码,需要在第一行加上 #coding:utf-8,因为我的输出中有中文.1.and:表示逻辑'与'2.del:用于list ...
- python函数返回多个变量_Python中接收函数多个返回结果的两种方法
在Python中函数经常会返回多个值,今天我们一起来讲解一下接收多个函数返回值的方法 工具/原料 电脑 Python开发工具 方法/步骤 1 用def 代码创建一个函数,名称为func1 代码如下: ...
- python中的变量_Python中的变量
python中的变量 This lesson deals with variables. Those who already know some programming must be familia ...
- python如何复制一个变量_Python中变量、赋值、浅拷贝、深拷贝
在理解浅拷贝和深拷贝之前,首先要理解学习一下变量在Python中是怎样存储的: 变量的类型是分值引用与地址引用两种. python的一切变量都是对象,变量的存储,采用了地址引用的方式,存储的只是一个变 ...
- python 获取值类型用于定义变量_Python中的变量和简单数据类型
变量: 变量是存储在内存中的值,在创建变量时会在内存中开辟一个空间. 变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符串. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存 ...
- python公共变量_Python中的公共变量
python公共变量 By default all numbers, methods, variables of the class are public in the Python programm ...
- python中如何连接两个字符串_python中5种连接字符串的方法
字符串是Python中常用的数据类型,在开发过程中可以对字符创进行截取并与其他字符创进行连接.本文为大家介绍了5种连接字符串的方法. 1.加号 如果有其他编程语言开发经验的人,肯定知道很多语言里面是用 ...
- python标志变量_Python 中的 global 标识对变量作用域的影响
global 标识用于在函数内部,修改全局变量的值. 我们可以通过以下规则,来判定一个变量到底是在全局作用域还是局部作用域: 变量定义在全局作用域,那就是全局变量. 变量在函数中定义,并且加了 glo ...
- python的命名空间_python中命名空间的三种方式介绍(附示例)
本篇文章给大家带来的内容是关于python中命名空间的三种方式介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. python中的命名空间分三种: 内置的命名空间,在启动解 ...
- python中函数的作用域_Python中的函数作用域
在python中,一个函数就是一个作用域 name = 'xiaoyafei' def change_name(): name = '肖亚飞' print('在change_name里的name:', ...
最新文章
- javascript:document的属性和方法,title,innerHTML,
- 2021年8月Web服务器排行榜:Nginx牛市上升
- python设计一个函数定义计算并返回n价调和函数_音乐编程语言musicpy教程(第三期) musicpy的基础语法(二)...
- iOS开发——高级技术通讯录功能的实现
- 21- vue django restful framework 打造生鲜超市 -首页商品分类显示功能
- NoSQL之HBase
- 作为测试人员,不要说有错误,要说有什么错误
- 奇怪的加拿大:一方面大力禁烟,另一方面放松大麻
- Python(PyCharm)的下载安装汉化(2022)
- java判断日文_java判断字符串是否中文、日文
- 计算机桌面文件夹消失了,电脑桌面文件不见了怎么恢复?再也不担心系统故障...
- linux搭建雷霆传奇h5源码,【雷霆传奇H5服务端】2020.07最新超好看大羽翼传奇网页游戏程序[附超详尽构建实例教程]...
- python求两数最小公倍数_Python自定义函数实现求两个数最大公约数、最小公倍数示例...
- 抖音姓名测试软件,抖音名字大全霸气
- ADB 常用技巧 汇总
- 在网页中插入MediaPlayer控件
- Flash和JS实现的图片幻灯片切换特效
- S32V234专业级AVM全景+ADAS解决方案
- SVN中文版客户端下载安装
- 计算机里没有摄像这个程序,win7系统没有摄像头不能视频的几种原因和解决方法...
热门文章
- 力扣-19 删除链表的倒数第N个结点
- Harmony OS — PageSlider滑动页面
- 7-9 成绩转换 (15 分)
- shell脚本编程学习(一)
- Java面向对象之内部类(访问格式)
- 2017-2018-1 20155220 《信息安全系统设计基础》第十四周学习总结
- SignalR+Redis,SignalR+Sqlserver集群部署应对海量链接
- windows配置caffe及matlab/python接口编译和调用(cpu/gpu)
- SQL Server 2008的安装
- How to install VNC on Ubuntu