Python中NameSpace与Scope详解

命名空间(namespace)经常和作用域(scope)一起用。

在Python编译器中输入import this会返回The Zen of Python,最后一句:

Namespaces are one honking great idea – let’s do more of those!

为了解namespace,先了解name

  • Python中的Name

    Name又称为identifier(标识符),是给对象的一个名字。Python中一切皆对象,Name是一种访问底层对象的方式。

    比如,赋值语句a=2中,2是对象,a是相应的Name

    Name可以指代任何类型的对象。

  • Python中的NameSpace

    简单地说,namespacename的集合。

    Python中,你可以把namespace理解为你所定义的所有Name到相应对象的一种映射。

    不同命名空间可同时存在,且完全独立。

    首先,自Python启动命名空间会包含所有内置名字。这就是为什么在程序的任何位置我们都可以使用内置函数(id(),print()…).

    每个模块都会创建自己的全局namespce

    不同的命名空间都是独立的,所以不同的模块内可以又相同的name而不会发生冲突。

    每个模块可以有不同的函数和类。当新建一个函数(function)就会新建一个局部命名空间(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值