python全局名称空间_python名称空间,命名空间

全局名称空间:在python解释器开始执行之后, 就会在内存中开辟一个空间, 每当遇到一个变量的时候, 就把变量名和值之间的关系记录下来, 但是当遇到函数定义的时候, 解释器只是把函数名读入内存, 表示这个函数存在了, 至于函数内部的变量和逻辑, 解释器是不关心的. 也就是说一开始的时候函数只是加载进来, 仅此而已, 只有当函数被调用和访问的时候, 解释器才会根据函数内部声明的变量来进行开辟变量的内部空间. 随着函数执行完毕, 这些函数内部变量占用的空间也会随着函数执行完毕而被清空.

我们首先回忆一下Python代码运行的时候遇到函数是怎么做的,从Python解释器开始执行之后,就在内存中开辟里一个空间,每当遇到一个变量的时候,就把变量名和值之间对应的关系记录下来,但是当遇到函数定义的时候,解释器只是象征性的将函数名读如内存,表示知道这个函数存在了,至于函数内部的变量和逻辑,解释器根本不关心。

等执行到函数调用的时候,Python解释器会再开辟一块内存来储存这个函数里面的内容,这个时候,才关注函数里面有哪些变量,而函数中的变量回储存在新开辟出来的内存中,函数中的变量只能在函数内部使用,并且会随着函数执行完毕,这块内存中的所有内容也会被清空。

我们给这个‘存放名字与值的关系’的空间起了一个名字-------命名空间。

代码在运行伊始,创建的存储“变量名与值的关系”的空间叫做全局命名空间;

在函数的运行中开辟的临时的空间叫做局部命名空间也叫做临时名称空间。

py文件中,存放变量与值的关系的一个空间叫做全局名称空间,而当执行一个函数时,内存中会临时开辟一个空间,临时存放函数中的变量与值的关系,这个叫做临时名称空间,或者局部名称空间。

其实python还有一个空间叫做内置名称空间:内置名称空间存放的就是一些内置函数等拿来即用的特殊的变量:input,print,list等等

#python分为三个空间:

#内置名称空间(builtins.py)

#全局名称空间(当前py文件)

#局部名称空间(函数,函数执行时才开辟)

#加载顺序:

#内置名称空间-->全局名称空间-->局部名称空间(函数执行时)

#取值顺序(就近原则)(单项不可逆)

# name = '123'

# def func():

# name = 'alex'

# print(name)

# func()

#(从局部找时)局部命名空间-->全局命名空间-->内置名称空间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10分钟带你了解python_ComeOn!10分钟带你了解Python的变量和数据类型

对任何语言来说,变量和数据类型都是非常重要和基础的内容。这篇文章就带你用10分钟的时间,学会Python的变量和数据类型这个知识点。一、知识点python 关键字变量的定义与赋值input() 函数字符串的格式化二、实验步骤每一种编程语言都有它们自己的语法规则…

python神经网络实例_Python编程实现的简单神经网络算法示例

本文实例讲述了Python编程实现的简单神经网络算法。分享给大家供大家参考,具体如下: python实现二层神经网络 包括输入层和输出层 # -*- coding:utf-8 -*- #! python2 import numpy as np #sigmoid function def nonlin(x, deriv False): if(deriv Tru…

由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者虚拟的请求路由),服务器无法或不会处理当前请求。

问题描述: 由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者虚拟的请求路由),服务器无法或不会处理当前请求。 在实现向数据库中添加记录时,请求发送无效,参数也未传递到控…

为什么服务器要选择 Linux,这里总结了 10 大理由

从最近的统计数据可以看到,全球大量数据中心的服务器已经开始向基于 Linux Server 平台转移。相较 Windows Server 而言,Linux Server 提供了更多优势。包括 Google、Twitter、Facebook 和 Amazon 在内的诸多国际互联网巨头,都在基于 Linux S…

华南x79主板u盘装系统教程_华南x79怎么用u盘重装系统

现如今电脑已经走进千家万户,大家生活和工作基本上都离不开电脑,接下来介绍一下华南x79主板的电脑怎么用U盘重装系统,以重装win7为例,分享一下华南x79主板的电脑u盘重装系统的方法步骤。华南x79主板电脑用u盘重装系统步骤阅读1、插…

怎么通过id渲染页面_完全理解Vue的渲染watcher、computed和user watcher

作者:Naicehttps://segmentfault.com/a/1190000023196603这篇文章将带大家全面理解vue的watcher、computed和user watcher,其实computed和user watcher都是基于Watcher来实现的,我们通过一个一个功能点去敲代码,让大家全面理解其中…

VS2015启动调试程序变慢

问题描述## 标题 vs2015编译速度很快,运行时不停显示加载xxx.dll动态库,加载很慢 解决方案## 标题 打开vs2015,依次点击工具-》选项-》调试-》符号,点击勾选去掉Microsoft符号服务器,清空符号缓存完毕 转载自VS2015启动调试程序变…

广联达深思6代锁_广联达|新版加密锁驱动使用文档

查看已购如何“查看已购”?老版的以下功能:1. 查看已购产品程序2. 产品密码注册程序3. 加密锁设置程序4. 授权服务控制程序新版中我们对这些功能做了整理和重设计:5. 新版的“广联达新驱动”包含以上所有功能“查看已购”入口去哪了&#xff…

根可达算法的根_我的JVM(六):GC的基础概念以及GC算法

一、概述垃圾收集Garbage Collection通常被称为GC,但是GC一般也指Garbage Collecting(垃圾回收这个动作)或Garbage Collector(垃圾回收器),这些都是是JVM知识体系中非常重要的知识,也是程序员必须要掌握的技能,本文将详细讲述Java…

docker开放的端口_docker-5-解决宿主机没有开放81端口却可以直接访问docker启动的81端口nginx容器的问题...

我以为经过前面四篇博文的学习,自己对docker的了解最起码入门了,但是当我用docker启动一个81端口的nginx后(宿主机:容器/81:80),在宿主机的firwall防火墙没有添加81端口的情况下,竟然可以直接访问成功,然后试下docker运…

测试计划与测试方案

测试计划与测试方案主要有以下几点区别: 1.测试计划是一个偏管理性质的文档,而测试方案是一个偏技术类型的文档; 2.测试计划通俗来讲就是解决【谁来做?】【做什么?】的问题,而测试方案是解决【怎么做&#…

docker 删除包含关键字的镜像_30分钟带你轻松掌握Docker原理

前言Docker是什么?Docker是Go语言开发实现的容器。2013年发布至今,备受推崇。相关文档、学习资料十分详尽。近期有docker相关项目,得重新学习一下。博客以笔记为什么要使用 Docker?Docker 容器的启动在秒级Docker 对系统资源利用率…

ssm访问不到html_IDEA解决SSM项目的静态资源路径问题:HTML,CSS,JS--详解

直接上图(项目目录结构):我们主要关注webapp。如上图,建议把js,css,layui,首页等文件放在WEB-INF外部,WEB-INF放程序的主要网页,index页面,welcome,各种管理页面等(如下图…

pads中如何设置等长_如何在SQL Server中设置扩展,监控系统性能

dbForge Studio for SQL Server为有效的探索、分析SQL Server数据库中的大型数据集提供全面的解决方案,并设计各种报表以帮助作出合理的决策。dbForge Studio for SQL Server​www.evget.com扩展事件是一种有用且方便的解决方案,旨在监视您的系统性能。它…

string循环输入,Ctrl+z截止

注意1&#xff1a;while和循环的位置问题&#xff1a;若while在for循环里&#xff0c;则for循环一次&#xff0c;就会使while中的语块一直执行&#xff0c;CtrlZ结束后&#xff0c;只会给s[0]赋值。 注意2&#xff1a;i的值即为string数组的实际值 #include<iostream> …

testmeshpro合批_TextMesh Pro Emoji Align With Text(表情和文字对齐)

前言MMO游戏中需要富文件组件&#xff0c;大体功能包括图文混排&#xff0c;表情&#xff0c;超链接&#xff0c;文字动画等富文本功能&#xff0c;且DC数占用少。本文选择Unity免费提供的TextMesh Pro 解决方案。软件环境Unity3D 5.3.7p4TextMesh Pro 1.0.555.0b11(Jul 06.201…

iar stm32_STM32延时函数的四种方法

关注、星标公众号&#xff0c;不错过精彩内容单片机编程过程中经常用到延时函数&#xff0c;最常用的莫过于微秒级延时delay_us()和毫秒级delay_ms()。本文基于STM32F207介绍4种不同方式实现的延时函数。普通延时这种延时方式应该是大家在51单片机时候&#xff0c;接触最早的延…

使用pm2启动node文件_PM2 是什么

目录 pm2是什么特点示例说明配置文件常用命令背景 由于需要在容器云新增一个测试环境&#xff0c;改了代码相关的配置后&#xff0c;进行部署。发现服务一直启动不了。在和运维一起排查问题&#xff0c;他看到pm2的一些信息&#xff0c; 问我pm2是不是阻塞了&#xff0c;并不是…

CP/M世界上第一个微机操作系统

CP/M世界上第一个微机操作系统 微软宣布2014年4月8日将不再对Windows XP系统进行更新&#xff0c;宣告这个存活了13年的史上寿命最长的微机操作系统基本上寿终正寝。很多人都知道这是个脱胎于DOS的系统&#xff0c;也潜意识中认为DOS是微机操作系统的鼻祖。不过&#xff0c;这大…

安卓 usb音量调节_戴尔推出面向Teams和Zoom视频通话的USB-C免提适配器

COVID-19 大流行期间&#xff0c;许多企业将会议安排在了线上举办。为方便通过 Microsoft Teams 和 Zoom 之类云视讯平台进行沟通的笔记本电脑用户&#xff0c;戴尔特地推出了新款 USB-C 音频适配器。作为一款两用配件&#xff0c;MH3021P 不仅可以作为有线通话的免提适配器(集…