python对象_python对象分类

1 python对象分类

1227229-20180309194835978-302319830.png

所有的Python对象都拥有三个特性:身份,类型和值

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

类型: 对象的类型决定了对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。你可以内建type()查看对象的类型

值:对象表示的数据项

对象属性:某些对象有属性、值或相关联的执行代码。python用句点(.)标记法来访问属性。属性包括相应对象的名字。最常用的属性是函数和方法

2 对象类型

标准类型(Numeric, Sequence, Mapping)

数字(分为几个子类型,其中二个是整形)

Interger 整型

Long integer 长整型

Boolean 布尔类型

Float point real number 浮点型

Complex number 复数型

String 字符串

List 列表

Tuple 元组

Dictionary 字典

其他类型对象(Internal, ...)

类型

Null 对象(None)

文件

可变/不可 集合

函数/方法

模块

类型对象和type类型对象(Fundamental, ...)

对象的一系列固有行为和特性都是事先定义好,从这个角度来说,类型正是保存这些信息的最佳位置。描述一种类型所需要的信息不可以用一个字符串来搞定,所以类型不能是一个简单的字符串,也不能和数据保存在一起,所以用将类型定义成一个对象是最好的选择。

类型对象和type类型对象

对象的一系列固有行为和特性都是事先定义好,从这个角度来说,类型正是保存这些信息的最佳位置。描述一种类型所需要的信息不可以用一个字符串来搞定,所以类型不能是一个简单的字符串,也不能和数据保存在一起,所以用将类型定义成一个对象是最好的选择。

>>> type(2)

>>>type(int)

>>> type(type(1))

通过调用type()函数,能够得到特定对象的类型信息。从上述代码中我们可以知道,所有类型对象的类型都是type,它是所有python类型的根和所有python标准类型的默认元类(metaclass).

所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小,每个对象天生具有True值或False值,空对象,值为0的任何数字或者Null对象None的布尔值都是False。下列对对象的布尔值是False:

None

False(布尔类型)

所有的值为零的数

0(整型)

0.0 (浮点型)

0L (长整型)

0.0+0.0j (复数)

''空字符串

[] 空列表

{} 空字典

() 空元组

值不是上面列出来的任何值的对象的布尔值都是True

3 python对象特征

数字(整数,浮点数,二进制,分数等)

支持加法和乘法等

序列(字符串,列表,元组)

支持索引,分片和合并

映射(字典)

支持通过键的索引等

对象的类型告诉Python去执行什么样的任务。

集合是自成一体的一个分类(不会把键值映射到值,也没有逐位的排序顺序)。

1.不可变类型(数字,字符串,元组,不可变集合):不支持原处修改

2.可变类型(列表,字典,可变集合):可以通过操作原处修改,而不用创建新的对象

一般来说,不可变类型具有某种完整性,保证这个对象不会被程序的其他部分改变。

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值