Python的命名空间(namespace)和作用域(scope)

在Python中,命名空间(namespace)和作用域(scope)是两个紧密相关但又有区别的概念,它们共同定义了程序中变量、函数等标识符的可见性和作用域

一、命名空间namespace

1.先看看官方文档的一段话: A namespace is a mapping from names to objects.Most namespaces are currently implemented as Python dictionaries

命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过 Python 字典来实现的

2.定义:

命名空间是一个从名称到对象的映射,它用于存储变量名及其对应的值。在Python中,每个模块、函数、类以及每个类的实例都有自己独立的命名空间。这意味着在不同的命名空间中,即使变量名相同,它们也代表不同的对象。命名空间的主要目的是避免命名冲突,使得每个标识符都能在其所属的命名空间中唯一地标识一个对象。

3.命名空间类型

Python中有三种主要的命名空间:

  1. 内置命名空间:包含了Python解释器自带的所有内置函数和变量。这个命名空间在Python程序启动时创建,并在程序的整个生命周期内都存在。

  2. 全局命名空间:在模块级别定义的变量和函数存储在全局命名空间中。这个命名空间在模块被导入时创建,并在模块被卸载时销毁。

  3. 局部命名空间:在函数、方法或代码块内部定义的变量和函数存储在局部命名空间中。这个命名空间在函数或方法被调用时创建,并在函数或方法执行完毕后销毁(

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值