【发布时间】:2021-07-17 18:24:11
【问题描述】:
让我们考虑以下代码 sn-p:
class Vehicle:
pass
class Car(Vehicle):
pass
my_car = Car()
print(issubclass(type(my_car), Car))
print(issubclass(type(my_car), Vehicle))
输出:
True
True
现在,如果我的任务是判断 my_car 是否属于 Vehicle 类型而不属于 Car 类型,我该怎么做?
有没有一种聪明、简短、优雅的方法?
【问题讨论】:
-
以inspect开头。
-
如果
my_car是Vehicle的直接实例,那么type(my_car) is Vehicle。如果它是Vehicle的间接实例,则为isinstance(my_car, Vehicle) and type(my_car) is not Vehicle。 -
你的标题和你在文中问的相反。
标签: python python-3.x object subclass