type()
是一个内置函数,可以很方便地查询对象数据类型;主要有两种用法:一个参数和三个参数;
(一)type()
函数的使用:
1)只使用一个参数:
- 只使用一个参数可以返回数据的类型;
- 使用方法:
type(对象)
>>> print(type(1)) # 输出<class 'int'>
>>>print(typr('str')) #输出<class 'str'>
2)使用三个参数:
type(name, bases, dict)
;返回新的类型对象name
–类的名称;bases
–基类的元组;dict
–字典,类内定义的命名空间变量;
class X(object):
a = 1
X = type('X', (object,), dict(a=1)) # 产生一个新的类型 X
print(X) # 输出:<class '__main__.X'>
(二) isinstance()
与type()
的区别:
type()
不会认为子类是一种父类类型,不考虑继承关系;isinstance()
会认为子类是一种父类类型,考虑继承关系;
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False