一、对象、值与类型
Python 程序中的所有数据都是由对象或对象间关系来表示的。
Every object has an identity(never changes,the address of the object in memory), a type and a value.
-运算符 is 和 is not:检测对象的标识号,当且仅当 x 和 y 是同一对象时 x is y 为真。
-id(object):Return the “identity” of an object.
-type(object):return the type of an object.
对象的值的可变性:
一个对象的可变性是由其类型决定的,数字、字符串和元组是不可变的,而字典和列表是可变的。
eg:一个不可变容器对象如果包含对可变对象的引用,当后者的值改变时,前者的值也会改变;但是该容器仍属于不可变对象,因为它所包含的对象集是不会改变的。因此,不可变并不严格等同于值不能改变,实际含义要更微妙。
对象不会被显示(explicitly)销毁,当无法访问时可能被作为垃圾回收,但有实现推迟垃圾回收或者完全忽略垃圾回收机制。
二、标准类型层级结构
1.None:一个具有此值的单独对象,通过内置名称None访问,大多用于表示空置,未显式指明返回值的函数将返回None,逻辑值为假。
2.NotImplemented:一个具有此值的单独对象,通过内置名称NotImplemented访问,数值方法和丰富比较方法如未实现指定运算符表示的运算则应返回此值,逻辑值为真。
3.Ellipsis