Python 每天一小时(10.14),,type类型对象和N


type类型对象和None对象

对象的一系列固有的行为和特性必须事先定义好。类型这是保存这些信息的最好位置。那么表示类型定义为一个对象。

type()函数,通过type函数能够得到特定对象的类型信息。使用type函数返回的是一个type对象。只是简单的输出结果为<type,‘int‘>,但是要记住这个类型不是简单的告诉你这类是什么类型.这个类型对象的类型是type

>>> type(type(32))<type ‘type‘>

None---python的null对象。

他只有一个值就是None,没有任何运算能力和内建方法, 其实他和void非常相近。

对象身份的比较

对象能够通过值比较,这和c#中的比较基本相同。主要是看看对想身份的比较,其实也就是id()函数的值的比较。

>>> x = y = 7>>> id(x)19192992>>> id(y)19192992

这种多重赋值方式x和y指向的是同一个对象。过程是一个值为7的数字对象被创建,然后将这个对象的引用赋值给x 和 y,那么x 和 y指向的就是同一个引用。

>>> x = 8>>> id(x)19192980>>> y = x>>> id(y)19192980

这种赋值方式x和y指向同一个对象。过程和上面的非常类似,一个值为8的数字对象被创建,然后将这个对象的引用赋值给x,在将x 赋值给 y ,因为是python中是通过引用传递的那么y的引用和x 指向的是同一个对象。

>>> x = 1.0 + 2.3>>> y = 3.3>>> x is yFalse>>> id(x)19226096>>> id(y)34684728

这种赋值方式x和y指向的是不同的对象。尽管两个对象的值都是3.3但是他们是两个独立的对象。所以x和y不是指向同一个对象。
(可以使用is 和is not关键字来判断两个对象是不是同一个对象,其实这个is和id(exp) == id(exp2)是等价的。)

注意这个例子中我们使用的是浮点数而不是整数。这是因为使用整形和字符串对象的时候python会高效的缓存。这样在我们创建对象的时候可能出现没有创建对象的假象。

bool类型(bool逻辑操作符)

not ==!

and == &&

or == ||

Python 每天一小时(10.14)

评论关闭