python对象学习笔记

python对象的三个特性

身份

对象的唯一标识, 可被认为是该对象的内纯地址, 极少用到, 可通过id()来获得.

类型

决定该对象可以保存什么类型的值, 可以进行什么操作, 及遵循什么样的规则, 可通过type()来查看

对象表示的数据项

以上三个特性在创建对象的时候就被赋值, 除了值以外, 其它两个特性都是只读的.


对象类型

type类型对象

所有类型对象的类型都是type, 它也是所有python类型的根和所有python标准类的默认元类

Null对象

Null对象是一种特殊的对象, 只有一个None值, 不支持任何运算也没有任何内建方法, 也没用什么有用的属性, 布尔值总为False

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


内部类型

包含代码, 帧, 跟踪记录, 切片等. 一般不会直接和这些类型打交道


标准类型运算符

对象值运算符

比较运算符用来判断同类型对象是否相等, 所有内建类型均支持比较运算, 数字类型根据数值大小比较, 字符串依据字符序列值比较, 返回布尔值True或者False

对象身份比较

对象可以通过引用被赋值到另外一个变量

foo1 = foo2 = 4.3
#一个值为4.3的数字被创建, 然后这个对象的引用被赋值给foo1和foo2这两个变量
foo1 = 4.3
foo2 = foo1
#python通过传递引用来处理对象, foo2成为4.3一个新的引用, foo1和foo2指向同一个对象
foo1 = 4.3
foo2 = 4.3
#首先一个数值对象被创建, 然后赋值给foo1. 然后第二个数值对象被创建并赋值给foo2. 两个对象值大小相同, 但是是两个独立的对象

is和is not

python提供了 is 和 is not 运算符来测试两个变量是否指向同一个对象

python会缓存常用整数对象和字符串对象, 造成我们认为python应该创建新对象时, 它却没有创建新对象的假象

a = 1
b = 1
id(a) == id(b)    #True

布尔类型运算符

not, or, and布尔逻辑运算符都是 Python 关键字, not 运算符拥有最高优先级, 只比所有比较运算符低一级, and 和 or 运算符则相应的再低一级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值