Python学习1:Python对象模型
2016-12-11 本文已影响0人
freealvin
1. 对象模型
Python中对象是所有数据的抽象。所有Python程序中的值都由对象或者对象之间的关系表示。
2. Python对象的特性
- identity
- type
- value
2.1 identity
Python中每个对象有一个唯一标识identity
,一个对象的标识在对象被创建后不再改变。可以认为对象的identity是对象在内存中的地址,其值可以由内置函数id()求得。is
操作符可以比较两个对象的identity是否相同,即两个对象是否是同一个。
if a is b:
print ‘a and b are the same object’
2.2 type
type
是对象的类型,决定了对象保存值的类型、可以执行的操作,以及所遵循的规则。可以使用内置函数type()
查看一个对象的类型。因为Python中一切皆是对象,type()
函数返回的也是对象,而不是简单字符串。
>>> i = 1
>>> type(i)
<type 'int'>
>>> s = "test"
>>> type(s)
<type 'str'>
2.3 value
对象表示的数据。值是可变的,值可变的对象称为mutable对象,值一经创建不可再变的对象称为immutable对象。一个对象的可变性由其类型决定,例如 数字, 字符串 和元组是不可变的, 而字典和裂变则是可变的。
3. 对象属性
有些Python对象有属性、值或相关联的可执行代码,比如方法。Python中使用(.)标记访问对象属性。最常用的属性是函数和方法,一些Python类型还有数据属性。类、类实例、模块、复数和文件含有数据属性。
参考
[1] Python核心编程第二版
[2] data model
[3] Types and Objects in Python