Python 为同一类返回False的issubclass的替代方案?

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 有没有办法检查一个类是否是另一个类的子类,但忽略同一个类的大小写?我认为没有内

当一个类是另一个类的子类时,issubclass返回True,但当比较同一个类时,它也返回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