新手学Python 第六篇(Python的对象)



Python使用对象模型来存储数据。构造任何类型的值都是一个对象。
所有的Python对象都拥有三个特性:身份,类型和值。


身份:
    每个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建
函数id()来得到。可以认为是该对象的内存地址。


类型:
    可以使用内建函数type()查看Python对象的类型。注意:因为Python中
类型也是对象,所以type()返回的是对象而不是简单的字符串。


值:
    对象表示的数据项
--------------------------------------------------
Python的标准类型,又称基本数据类型
数字类型(整形、布尔型、长整形、浮点型、复数型)、
字符串 、列表、元祖、字典
Python还有其他的类型:
类型、Null对象(None)、文件、集合/固定集合、函数/方法、模块、类


重点介绍Type和None类型


type类型对象:
    把类型本身也当成对象,是我在编程语言中接触的第一回。有点奇特,但
也有其道理所在,因为类型间不同的特性和操作也需要事先保存。
例如:
  >>> type(int)
  <type 'int'>
  >>> type(type(int))
  <type 'type'>


可以看出,所有类型对象的类型都是type,它也是所有Python类型的根和所有
Python标准类型默认元类(metaclass)


Null对象:
    Python有一个特殊的类型,Null对象或者NoneType,它只有一个值None。
它不支持任何运算也没有任何内建方法。None没有有用的属性。
--------------------------------------------------
Python的内部类型
代码、帧、跟踪记录、切片、省略、Xrange


代码对象:
    代码对象是编译过的Python源代码片段,它是可执行对象。可以通过
调用内建函数compile()可以得到代码对象。


帧对象:
    帧对象表示Python的执行栈帧。帧对象包含Python解释器在运行时所
需要知道的所有信息。


跟踪记录对象:
    发生异常时创建,针对异常的栈跟踪信息。


切片对象:
    使用Python扩展的切片语法时,就会创建切片对象。切片语法主要是
针对索引进行操作,包括步进切片、多维切片、省略切片。也可以由内建
函数slice()类生成。
 步进切片例子:
  >>>  foostr = 'abcde'
  >>> foostr[::-1]
  'edcba'
  此处使用默认的开始和结尾,步长为-1即倒序输出。


省略对象:
    省略对象用于扩展切片语法中表示省略号。类似Null对象None,省略
对象的名字唯一为Ellipsis,其布尔值始终为True。


XRange对象:
    调用内建函数xrange()会生成一个Xrange对象,用于需要节省内存使用
或range()无法完成的超大数据集场合。
-----------------------------------------------
标准类型运算符


值比较:
    需要注意的是Python支持3 < 4 < 5 的比较形式,相当于(3 < 4) and
(4 < 5)
对象身份比较:
    Python提供了is和is not运算符来测试两个变量是否指向同一个对象。
a is b 等价于 id(a) == id(b)
----------------------------------------------
标准类型内建函数


cmp(a,b)  比较a,b的大小,a<b 返回值小于0
repr(obj) 返回一个对象的字符串表示
str(obj)  返回对象适合可读性好的字符串表示
type(obj) 得到一个对象的类型,并返回乡音的type对象


type()  ---> 是一个工厂函数。
 接受一个对象作为参数,并返回它的类型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值