Python 为同一类返回False的issubclass的替代方案?
当一个类是另一个类的子类时,issubclass返回True,但当比较同一个类时,它也返回True,因为类本身就是一个子类。例如:Python 为同一类返回False的issubclass的替代方案?,python,issubclass,Python,Issubclass,当一个类是另一个类的子类时,issubclass返回True,但当比较同一个类时,它也返回True,因为类本身就是一个子类。例如: class Parent: pass class Child(Parent): pass >>> issubclass(Child, Parent) True >>> issubclass(Parent, Parent) True 有没有办法检查一个类是否是另一个类的子类,但忽略同一个类的大小写?我认为没有内
class Parent:
pass
class Child(Parent):
pass
>>> issubclass(Child, Parent)
True
>>> issubclass(Parent, Parent)
True
有没有办法检查一个类是否是另一个类的子类,但忽略同一个类的大小写?我认为没有内置函数可以做到这一点,因此您应该使用运算符“and”创建自己的函数 或 试一试
cls不是父类,issubclass(cls,Parent)
…@deceze就可以了,谢谢!
issubclassn = lambda c1, c2: (c1 != c2 and issubclass(c1, c2))
def issubclassn(c1, c2):
return c1 != c2 and issubclass(c1, c2)
class Parent:
pass
class Child(Parent):
pass
>>> issubclassn(Parent, Parent)
False
>>> issubclassn(Child, Parent)
True