对象的身份和类型

对象的身份和类型
#  比较两个对象
def compare(a,b):
 if a is b:
         #a和b是同一个对象
          statements

 if a==b:
          # a和b具有相同的值
          statements

 if type(a) is type(b):
          # a和b具有相同的类型
          statements

对象的类型本身也是一个对象,称为对象的类。类型之间可以使用is运算符进行比较。所有类型对象都有一个指定的名称,大部分都是内置的,如:list,dict,file.例如:
if type(s) is list:
   s.append(item)

if type(d) is dict:
   d.update(t)


检查类型的更佳方式是用内置函数isinstance(object,type),例如:

if  isinstance(s,list):
    s.append(item)
if  isinstance(d,dict):
    d.update(t)

因为isinstance()函数能够实现继承,所以是检查所有python对象类型的首选方式。

posted @ 2011-10-25 21:20  ilxx1988  阅读(199)  评论(0编辑  收藏  举报