一 什么是对象?
从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。
python使用对象模型来储存数据。构造任何类型的值都是一个对象。
所有的python对象都有3个特征:身份 类型 和值。
身份:在python 里面每个对象都有自己的唯一的标识 ,任何的对象都可以用id()函数 得的使用内存块的一个地址。
>>> a = 11
>>> id(a)
56878776
>>> a = 1
>>> id (a)
56879016
>>> b = 11
>>> id(b)
56878776 b 为什么和a 原来的ID 一样 ,11 是他俩的对象 使用的那个内存块 除非重新进如解释器。因为解释自动释放内存。
>>> c = b
>>> id (c)
56878776 看完这个应该清楚了
类型:对象的类型决定了该对象可以保存的什么类型的值,可以进行什么操作,以及遵循什么样的规则。
type()函数来查看python 对象的 类型。
>>> type (b)
<type 'int'>
基本包括这几种 。
值:对象表示的数据项。
如果对象支持更新操作,那么值就可以改变,否则就可以只读,如果只读的话 他的值没被销毁的话就会一直存在。
二 标准类型
还有字典 这些都是标准类型。
三 其他内建类型
类型,None 空对象,文件,集合,函数,模块,类。
1.类型对象和type类型对象。
2 None 对象
none 是一个特殊的类型,被成为null对象或者none type ,他只有一个值就是none。
3 内部类型
代码 ,帧,跟踪记录 ,切片,印象,省略,xrange
对象是个抽象的东西,一般不直接大交道有个概念则以。
四 标准操作符
1.对象值的比较
>>> 2 == 2
True
>>> 2 <= 3
True
这个比较简单, 操作符说过了,不是 true 就是flase
2.对象身份比较
nu1 = nu2 = 5
这个多重赋值 其实是指向了一个对象。
nu1 = 5
nu2 = nu1
一个值为 5的 对象被创建 然后传递给了 nu1 变量,然后nu2 =nu1 的时候是 nu2 被指向了 nu1 的对象,这是因为python 是通过传递引用来处理对象的。
nu1 = 5
nu2 = 2+3
虽然是2个值但是对象不同
nu1 = 5
nu1 =5.0
对象也是不通的。 id ()函数测试即可。
五 关于标准类型的 内建函数。
1.cpm(x,y) 比较2个数的大小 x>y 返回 1 反之 -1 。
>>> cmp(5,6)
-1
>>> cmp(6,5)
1
2.repr(num) 返回一个对象的字符串表示;
>>> repr(55.5)
'55.5'
>>> repr(55.0)
'55.0'
>>> repr("a")
"'a'"
3 str(str) 返回一个对象的可读性的字符串表示;
>>> a = "sdfsd"
>>> str(a)
'sdfsd'
>>> repr(a)
"'sdfsd'"
>>>
4 type() 测试类型的函数
>>> type(a)
<type 'str'>
>>> type(11)
<type 'int'>
>>> type(5.5)
<type 'float'>
>>>
5 isinstance(num,type) 测试对象类型
自定义一个函数:
def displaynum(num):
print num ,"is"
if isinstance(num,(int,float,long,complex)):
print "a number type:", type(num).__name__
else:
print num,"s not number"
六。操作符和内建函数总结一个表
七分类
“基本” :是指python的标准或者核心类型。
“内建”: 默认提供
“数据” :一般数据的存储。
“对象" :默认是数据和功能的抽象。
“原始” :最底层的颗粒数据存储。
“类型” :他们就是数据类型。