type( )和isinstance( )

type( ):指出指定对象类型

     一个参数时,type()返回一个对象的数据类型

type(1)   其返回值为int

type([2])   其返回值为list

      三个参数时:创建一个类

type还可以传入三个参数

name:类名

bases:父类的元组

dict:类的属性方法和值组成的键值对

class X(object):
    a = 1
    X = type("x",(object,),dict(a=1))

# 输出为:<class __main__.X>

isinstance( )判断一个对象是否来自一个已知类型

isinstance( object,type) 其中type可以为一个元组

isinstance(a,(str,int,list))

type 和 isinstance 的不同

type不考虑继承

isinstance要考虑继承

class A(object):
    pass
class B(A):
    pass

print(isinstance(A(), A))
print(isinstance(B(), A))
print(type(A()) == A)
print(type(B()) == A)

返回结果为:
1 True
2 True
3 True
4 False

猜你喜欢

转载自www.cnblogs.com/dinglei0001/p/12520491.html
今日推荐