没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
上一篇介绍了 Python 枚举类型的标准库,除了考虑到其实用性,还有一个重要的原因是其实现过程是一个非常好的学习、理解 Python 类与元类的例子。因此接下来两篇就以此为例,深入挖掘 Python 中类与元类背后的机制。 翻开任何一本 Python 教程,你一定可以在某个位置看到下面这两句话: Python 中一切皆为对象(Everything in Python is an object); Python 是一种面向对象编程(Object Oriented Programming, OOP)的语言。 虽然在上面两句话的语境中,对象(Object)的含义可能稍有不同,但可以
资源推荐
资源详情
资源评论
Python 类与元类的深度挖掘类与元类的深度挖掘 I【经验】【经验】
上一篇介绍了 Python 枚举类型的标准库,除了考虑到其实用性,还有一个重要的原因是其实现过程是一个非常好的学
习、理解 Python 类与元类的例子。因此接下来两篇就以此为例,深入挖掘 Python 中类与元类背后的机制。
翻开任何一本 Python 教程,你一定可以在某个位置看到下面这两句话:
Python 中一切皆为对象(Everything in Python is an object);
Python 是一种面向对象编程(Object Oriented Programming, OOP)的语言。
虽然在上面两句话的语境中,对象(Object)的含义可能稍有不同,但可以肯定的是对象在 Python 中具有非常重要的意
义,也是我们接下来将要讨论的所有内容的基础。那么,对象到底是什么?
对象对象(Object)
对象是 Python 中对数据的一种抽象,Python 程序中所有数据都是通过对象或对象之间的关系来表示的。[ref: Data
Model]
港台将 Object 翻译为“物件”,可以将其看作是一个盛有数据的盒子,只不过除了纯粹的数据之外还有其它有用的属性信
息,在 Python 中,所有的对象都具有id、type、value三个属性:
+---------------+
| |
| Python Object |
| |
+------+--------+
| ID | |
+---------------+
| Type | |
+---------------+
| Value| |
+---------------+
其中 id 代表内存地址,可以通过内置函数 id() 查看,而 type 表示对象的类别,不同的类别意味着该对象拥有的属性和方
法等,可以通过 type() 方法查看:
def who(obj):
print(id(obj), type(obj))
who(1)
who(None)
who(who)
4515088368
4514812344
4542646064
对象作为 Python 中的基本单位,可以被创建、命名或删除。Python 中一般不需要手动删除对象,其垃圾回收机制会自动
处理不再使用的对象,当然如果需要,也可以使用 del 语句删除某个变量;所谓命名则是指给对象贴上一个名字标签,方便使
用,也就是声明或赋值变量;接下来我们重点来看如何创建一个对象。对于一些 Python 内置类型的对象,通常可以使用特定的
语法生成,例如数字直接使用阿拉伯数字字面量,字符串使用引号 ”,列表使用 [],字典使用 {} ,函数使用 def 语法等,这些
对象的类型都是 Python 内置的,那我们能不能创建其它类型的对象呢?
类与实例类与实例
既然说 Python 是面向对象编程语言,也就允许用户自己创建对象,通常使用 class 语句,与其它对象不同的是,class 定
义的对象(称之为类)可以用于产生新的对象(称之为实例):
class A:
pass
a = A()
资源评论
weixin_38679839
- 粉丝: 4
- 资源: 975
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功