首页 > 代码库 > Python 每天一小时(10.14)
Python 每天一小时(10.14)
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)