标签:python
Python使用对象模型来存储数据,构造任何类型的值都是一个对象。所有的对象都有三个特性:
>>> p = 12
>>> id(p)
31108092
>>> type(p)
<type ‘int‘>
>>> p
12
>>>
整型Integer,长整型Long integer,浮点型float,复数型complex number,布尔型bool,字符串string,列表list,元组tuple,字典dictionary。
type类型对象
type类型本身就是一个对象,它的类型为‘type’。
>>> type(1)
<type ‘int‘>
>>> type(type(1))
<type ‘type‘>
None——Python的Null对象
Python有一个特殊的类型,称作Null对象或者NoneType,它只有一个值:None,None的布尔值为False。
文件
内部类型我们一般不会过多关注与使用,了解一下即可。
代码对象
代码对象是编译过的Python源代码片段,可执行。可以通过内建函数compile()得到代码对象。代码对象可以被exec命令或者内建函数eval()执行。
帧
跟踪记录对象
程序出现异常退出时,一个包含针对异常的栈跟踪信息的跟踪记录对象被创建:
>>> pri
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name ‘pri‘ is not defined
切片对象
当使用Python的切片语法时,就会创建切片对象。
省略对象
用于切片语法中,起记号作用。 如 str[::2]之类。
Xrange对象
调用内建函数xrange()会生成一个XRange对象,xrange是range的兄弟版本,用于需要节省内存 或 range无法完成的超大数据集场合。
对象身份比较
这个涉及到Python“引用计数”的相关知识,上一篇文章中有总结。Python还提供了is和is not操作符来测试两个变量是否指向同一个对象。
>>> a = 1
>>> b =a
>>> c = 2
>>> a == b
True
>>> a is c
False
>>> a is not c
True
>>> a is b
True
我们通过id也可以直接判断它们是否指向同一对象:
>>> id(a),id(b),id(c)
(31108224, 31108224, 31108212)
cmp(obj1,obj2)
obj1大于obj2则返回1,小于返回-1,等于返回0。
>>> a,b,c,d = 1,2,3,2
>>> cmp(b,a),cmp(b,c),cmp(b,d)
(1, -1, 0)
str()、repr()、”操作符
str()、repr()、”操作符都能够以字符串的方式获取对象的内容。str()获得的字符串可读性好,repr()获取的字符串通常可以用来重新获得该对象。
>>> str([1,2,3])
‘[1, 2, 3]‘
>>> repr([1,2,3])
‘[1, 2, 3]‘
>>> ‘[1,2,3]‘
‘[1,2,3]‘
Python2.2统一了类和类型。原来所谓的内建类型转换函数像int()、type()、list()等都成了工厂函数,也就是说他们看上去像函数,实质上是类,当调用它们时,实际上生成了该类型的一个实例,像工厂生成货物一样。
存储模型,更新模型,访问模型。
整型
Python中没有像C语言那样的int、short、long。当你使用一个整型数值超出范围时,python会自动返回一个长整型给你,python的长整型表示的数值范围很大。
float vs double
Python的浮点类型float实际上是C的double。浮点型总是不精确的,故Python还提供了Decimals模块,它有任意精度,在处理金钱这类确定的值时,Decimals模块很有用。
标签:python
原文地址:http://blog.csdn.net/u012162613/article/details/44049607