python中为什么万物皆对象

在python环境中我们输出一个没有声明的变量a 为什么会报name 'a' is not defined。为什么是name 而不是variable。

因为在python中把所有的函数名,变量名、类型名等等标识符都称为名字。名字总是在名字空间中与一个对象关联。名字本身并不知道目标的具体信息,它仅仅负责"指路"

>>> a = 10

>>> globals()

{'__spec__': None, 'a': 10, '__name__': '__main__', '__loader__':, '__builtins__':, '

__package__': None, '__doc__': None}

上面赋值了一个值10,并将于变量‘a’关联起来,也就是通过赋值语句我们就得到{‘a’:10,..}这样的对象关联关系。并且还是以dict形式实现的。

通过名字访问对象时,就从该名字空间中查找其关联的目标对象。我们完全可以绕开赋值语句,直

接在名字空间中添加名字和对象的关联。

>>> globals()['b'] = 100

>>> b

100

名字空间不止可以保存a这样的变量,他可以是认识类型。要知道python是把一切都当做对象的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,846评论 0 5
  • 1. 简单的例子 先从一个简单的例子说起,包含了两个文件 foo.py 和 demo.py 执行这个程序pytho...
    jiangmo阅读 5,712评论 0 5
  • 定义类并创建实例 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类...
    绩重KF阅读 9,433评论 0 13
  • 几年前,跟我的一位师妹聊天。当时她正在读研究生,课余时间做家教。她跟我倾诉做家教的苦恼。她辅导的孩子上初中,学业很...
    核聚阅读 12,111评论 0 4
  • 有没有曾经想过我们从何而来又有怎样的使命要实现怎样的价值体会怎样的人生 无从知晓无从想起也许生命本身并无意义是我们...
    当下的航子阅读 1,198评论 0 3

友情链接更多精彩内容