python内置了多个函数用来获取对象或者实例的信息,例如type,isinstance,dir等。

type()

type()用来判断对象类型。该函数既可以对python内置的数据类型进行操作,也可以对自定义的类或者实例进行操作。另外也可以对函数或者方法进行操作。
总之,type()可以获取一切对象的类型。
type()函数返回的是type类型的数据。
type类型,python已经定义了多个常量。

import types
types.StringType
types.UnicodeType
types.ListType
types.TypeType # type类型的值
...

isinstance()

isinstance()type()类似。python更加推荐使用isinstance()对python中的对象类型进行判断。
type()isinstance()的区别可以阅读http://www.jianshu.com/p/7ef5... 了解更多。
举一个例子:
我们在python中定义下列继承关系:

# 定义继承关系 object<--People<--Student<--Girl
class People(object):
    pass


class Student(People):
    pass


class Girl(Student):
    pass

girl = Girl()

print isinstance(girl, Girl) #True
print isinstance(girl, Student) #True
print isinstance(girl, People) #True
print isinstance(girl, object) #True

Char
506 声望33 粉丝

hello world