命名空间|学习笔记

简介: 快速学习 命名空间

开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理:命名空间】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/601/detail/8731


命名空间


目录

一、命名空间的基本概念

二、命名空间的使用及示例

 

 

一、命名空间的基本概念

命名空间 (namespace)

#命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名空间当中

#每一个作用域都会有一个对应的命名空间

#全局命名空间,用来保存全局变量,函数命名空间用来保存函数中的变量

#命名空间实际上就是一个字典,是一个专门用来存储变量的字典

 

#locals()用来获取当前作用域的命名空间

#如果在全局作用域中调用 locals()则获取全局命名空间,如果在函数作用域中调用 locals()则获取函数命名空间

#返回的是一个字典

 

 

二、命名空间的使用及示例

scope = locals()   #当前命名空间

print(scope)

 

#print(a)

#print(scope[‘a’])

#scope 中添加一个key-value

scope[‘c’] = 1000 # 向字典中添加一个 key-value 相当于在全局中创建了一个变量

 

print(c)    

def fn4():

a = 10

# scope = locals() #在函数内部通过调用 locals()会获取函数的命名空间

# scope[‘b’] = 20 # 可以通过 scope 来操作函数的命名空间

#globals ()函数可以用来在任意位置获取全局命名空间

global_scope = globals()

# print(global_scope[‘a’])

global_scope[‘a’] = 30

#print(scope)

相关文章
|
8月前
|
数据采集 分布式计算 安全
云产品评测|智能数据建设与治理 Dataphin
Dataphin是阿里巴巴OneData方法论的云化输出,提供数据采集、建模、管理到应用的全生命周期大数据能力,助力企业构建高质量、安全经济的数据中台。支持多计算平台与开放拓展,适配各行业需求。本文档介绍Dataphin部署流程:准备数据样本,新建数据板块,配置参数,新增MaxCompute计算源,获取并校验AccessKey ID。具体操作详见阿里云官方文档,确保每步准确执行以完成数据治理与建设。
482 9
|
12月前
|
设计模式 存储 缓存
前端必须掌握的设计模式——策略模式
策略模式(Strategy Pattern)是一种行为型设计模式,旨在将多分支复杂逻辑解耦。每个分支类只关心自身实现,无需处理策略切换。它避免了大量if-else或switch-case代码,符合开闭原则。常见应用场景包括表单验证、风格切换和缓存调度等。通过定义接口和上下文类,策略模式实现了灵活的逻辑分离与扩展。例如,在国际化需求中,可根据语言切换不同的词条包,使代码更加简洁优雅。总结来说,策略模式简化了多条件判断,提升了代码的可维护性和扩展性。
|
安全 定位技术 数据安全/隐私保护
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
349 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
前端开发 Android开发 iOS开发
探索Android与iOS的跨平台开发策略
在移动应用开发的多元化时代,跨平台开发已成为开发者追求效率和广泛覆盖的重要手段。本文深入探讨了Android与iOS两大主流平台下的跨平台开发策略,分析了各自的优势与挑战,并通过实际案例展示了如何有效实施跨平台解决方案,以期为开发者提供有价值的参考和启示。
Swiper库和Glide.js库的性能有何区别
Swiper和Glide.js是两个流行的响应式轮播图库。Swiper功能强大且灵活,支持多方向滑动,拥有丰富的配置和切换效果,适合复杂需求,其高性能得益于优化的算法和惰性加载。Glide.js则轻量级、快速,专注于基础功能,适合简洁需求。两者各有侧重,选择应基于项目具体需求和性能考虑。
|
网络安全 Shell
|
SQL 数据库 C语言
使用SQL语句实现数据插入、修改和删除操作
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句实现数据插入、修改和删除操作。
改变鼠标指针样式的方法【项目优化——cursor】
改变鼠标指针样式的方法【项目优化——cursor】
325 0
|
SQL 监控 JavaScript
基于Quartz编写一个可复用的分布式调度任务管理WebUI组件
创业小团队,无论选择任何方案,都优先考虑节省成本。关于分布式定时调度框架,成熟的候选方案有XXL-JOB、Easy Scheduler、Light Task Scheduler和Elastic Job等等,其实这些之前都在生产环境使用过。但是想要搭建高可用的分布式调度平台,这些框架(无论是否去中心化)都需要额外的服务器资源去部署中心调度管理服务实例,甚至有时候还会依赖一些中间件如Zookeeper。
418 0
基于Quartz编写一个可复用的分布式调度任务管理WebUI组件