命名空间|学习笔记

简介: 快速学习 命名空间

开发者学堂课程【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)

相关文章
|
存储 SQL 关系型数据库
了解TiDB基础入门
了解TiDB基础入门
4689 0
|
9月前
|
设计模式 存储 缓存
前端必须掌握的设计模式——策略模式
策略模式(Strategy Pattern)是一种行为型设计模式,旨在将多分支复杂逻辑解耦。每个分支类只关心自身实现,无需处理策略切换。它避免了大量if-else或switch-case代码,符合开闭原则。常见应用场景包括表单验证、风格切换和缓存调度等。通过定义接口和上下文类,策略模式实现了灵活的逻辑分离与扩展。例如,在国际化需求中,可根据语言切换不同的词条包,使代码更加简洁优雅。总结来说,策略模式简化了多条件判断,提升了代码的可维护性和扩展性。
|
11月前
|
安全 定位技术 数据安全/隐私保护
Swiper库和Glide.js库的性能有何区别
Swiper和Glide.js是两个流行的响应式轮播图库。Swiper功能强大且灵活,支持多方向滑动,拥有丰富的配置和切换效果,适合复杂需求,其高性能得益于优化的算法和惰性加载。Glide.js则轻量级、快速,专注于基础功能,适合简洁需求。两者各有侧重,选择应基于项目具体需求和性能考虑。
|
网络安全 Shell
|
前端开发 Java Android开发
打造 Compose 版本的 Banner
打造 Compose 版本的 Banner
481 0
打造 Compose 版本的 Banner
|
存储 弹性计算 运维
阿里云电脑多少钱一台(阿里云电脑收费标准)
阿里云电脑多少钱一台(阿里云电脑收费标准)
1309 0
|
JavaScript 前端开发
Vue 2.x折腾记 - (17) 基于Ant Design Vue 封装一个配置式的表单组件
写了个类似上篇搜索的封装,但是要考虑的东西更多。 具体业务比展示的代码要复杂,篇幅太长就不引入了。
524 0
|
SQL 监控 JavaScript
基于Quartz编写一个可复用的分布式调度任务管理WebUI组件
创业小团队,无论选择任何方案,都优先考虑节省成本。关于分布式定时调度框架,成熟的候选方案有XXL-JOB、Easy Scheduler、Light Task Scheduler和Elastic Job等等,其实这些之前都在生产环境使用过。但是想要搭建高可用的分布式调度平台,这些框架(无论是否去中心化)都需要额外的服务器资源去部署中心调度管理服务实例,甚至有时候还会依赖一些中间件如Zookeeper。
353 0
基于Quartz编写一个可复用的分布式调度任务管理WebUI组件
|
存储 弹性计算 运维
雪球引入阿里云云原生内存数据库Tair,实现成本降低50%
在满足雪球行情业务高并发、低时延需求的同时,还解决了成本高昂、扩缩容不便、运维困难等问题。
502 0
雪球引入阿里云云原生内存数据库Tair,实现成本降低50%