我刚刚浏览了一些python帮助文档,并遇到了以下代码:
isinstance(object, type)
有人可以解释上述陈述中type
的含义吗?
谢谢,
Vineel
答案 0 :(得分:13)
type
必须是表示类型/类的对象,例如int
或str
。例如,isinstance(1, int)
评估为True
,而isinstance(sys.stdin, str)
评估为False
。如果您已定义class Foo
,则Foo
也是类型对象。
编辑:正如@delnan所说,type
本身也是Python中的一种类型,因此isinstance(str, type)
为真,因为str
是一种类型,而isinstance('foo', type)
{1}}是假的。 object
也是Python中的一种类型,是类型层次结构的根。
答案 1 :(得分:1)
isinstance(object, classinfo)
object
-要检查的对象
classinfo
-类和类型的类,类型或元组
isinstance()
返回:
True
,如果对象是类的实例或子类,或元组的任何元素
False
否则
例如:a = 1 + 2j
print(isinstance(1+2j, complex))
output : True
答案 2 :(得分:0)
此语句检查object
的类型是否为type
。 type
变量应该是一个类。
答案 3 :(得分:0)
isinstance(object, classinfo)
如果object参数是classinfo参数的实例,或者是(直接,间接或虚拟)子类的实例,则返回true。如果classinfo是类型对象(新样式类)并且object是该类型的对象或其(直接,间接或虚拟)子类,则也返回true。如果object不是类实例或给定类型的对象,则该函数始终返回false。如果classinfo既不是类对象也不是类型对象,它可能是类或类型对象的元组,或者可能递归地包含其他这样的元组(不接受其他序列类型)。如果classinfo不是类,类型和类别等的类,类型或元组,则会引发TypeError异常。
在2.2版中更改:支持类型信息元组 加入。