如何检查对象类型?
可能重复的问题:
Python - 如何确定一个对象的类型?
我想要打印出'complex',但是没有任何反应,为什么呢?我该怎么做才能正确实现呢?
>>> c = (5+3j)
>>> type(c)
<type 'complex'>
>>> if type(c) == 'complex': print 'complex'
...
>>>
3 个回答
2
试试这个代码:if isinstance(c,complex): print 'complex'
2
>>> c = 5+3j
>>> c
(5+3j)
>>> type(c)
<type 'complex'>
>>> complex
<type 'complex'>
>>> type(c) == complex
True
>>> isinstance(c, complex)
True
>>>
当你看到 type(c) == complex
这段代码时,它的意思是“这个东西绝对是 complex
类型的,不是它的任何子类”。而 isinstance(c, complex)
则会把所有的子类也包括在内。
5
你可以使用 isinstance
这个函数:
if isinstance(c, complex):
根据文档的说明:
如果对象是某个类的实例,或者是这个类的子类(不管是直接的、间接的还是虚拟的),那么就返回真(True)。如果提供的类信息是一个类型对象(新式类),而对象是这个类型的实例或者是它的子类(同样不管是直接的、间接的还是虚拟的),也会返回真(True)。