1.全部的Python 对像都拥有三个特性:身份,类型和值。缓存
身份:
每个对象都有一个惟一的身份标识本身,任何对象的身份可使用内建函数id()来获得。
这个值能够被认为是该对象的内存地址。您极少会用到这个值,也不用太关心它到底是什么。函数
2.类型也是一种对象code
>>> type(42) <type 'int'> >>> type(type(42)) <type 'type'>
3. 整数对象和 字符串对象是不可变对象,因此Python 会很高效的缓存它们。对象
Python 仅缓存简单整数,由于它认为在Python 应用程序中这些小整数会常常被用到。目前,Python 缓存的整数范围是(-1, 100),不过这个范围是会改变的,因此请不要在你的应用程序使用这个特性。内存
4.标准类型构建函数字符串
函数 功能
cmp(obj1, obj2) 比较 obj1 和 obj2, 根据比较结果返回整数 i:
i < 0 if obj1 < obj2
i > 0 if obj1 > obj2
i == 0 if obj1 == obj2
repr(obj) 或 `obj` 返回一个对象的字符串表示
str(obj) 返回对象适合可读性好的字符串表示
type(obj) 获得一个对象的类型,并返回相应的type 对象容器
注:str()函数获得的字符串可读性好, 而repr()函数获得的字符串一般能够用来从新得到该对象, 一般状况下 obj == eval(repr(obj)) 这个等式是成立的。须要提醒一下的是, 并非全部repr()返回的字符串都可以eval()内建函数获得原来的对象。也就是说 repr() 输出对 Python 比较友好, 而str()的输出对人比较友好。基础
5.Python 不支持方法或函数重载, 所以你必须本身保证调用的就是你想要的函数或对象。程序
6.类型工厂函数方法
Python 2.2 统一了类型和类, 全部的内建类型如今也都是类, 在这基础之上, 原来的所谓内建转换函数象int(), type(), list() 等等, 如今都成了工厂函数。 也就是说虽然他们看上去有点象函数, 实质上他们是类。当你调用它们时, 其实是生成了该类型的一个实例。
7.标准类型的分类
a.存储模型
标量/原子类型 数值(全部的数值类型),字符串(所有是文字)
容器类型 列表、元组、字典
b.更新模型
可变类型 列表, 字典
不可变类型 数字、字符串、元组
c.访问模型
分类 Python 类型 直接访问 数字 顺序访问 字符串、列表、元组 映射访问 字典