isinstance() 是 Python 内置函数,用来检查一个对象是否是指定类或其子类的实例
isinstance()中一般情况下传入两个参数,语法:isinstance(object,class-type)
举个栗子:
string = "FY"
print(isinstance(string,int)) # 这里返回False
print(isinstance(string,str)) # 这里返回True
# 也可以传入一个元组
print(isinstance(string,(int,list,dict))) # 这里返回False,因为元组中的类型没有一个是符合条件的
print(isinstance(string,(int,str,list))) # 这里返回True,因为元组中有str类型
结果:
上面的类子没有体现出“用来检查一个对象是否是指定类或其子类的实例”
那么我们再举例一个更恰当的例子:
isinstance(m, (nn.Conv2d, nn.Linear))
其中, (nn.Conv2d, nn.Linear) 是一个元组,包含了要检查的类型。在这里,检查的是 m 是否是 nn.Conv2d 类或者 nn.Linear 类的实例。
因此,isinstance(m, (nn.Conv2d, nn.Linear)) 的意思是: 如果 m 是 nn.Conv2d 类或者 nn.Linear 类的实例之一,返回 True;否则,返回 False。