gpt4 book ai didi

Python:询问两个对象是否是同一个类

转载 作者:太空狗 更新时间:2023-10-29 20:49:37 25 4
gpt4 key购买 nike

我有一个 Animal 类,其他动物继承自它(例如 Sheep、Wolf)。
我想检查两个对象是否属于同一类,如果是,它应该创建同一类的新对象并且如果不是,他们就是在打架。

if x and y same object:
#create new object
else:
#fight

有没有比isinstance更好的方法?
因为,会有更多的动物,而不仅仅是 2 只,我认为这样做效率不高:

if isinstance(x, Wolf)
# ...

最佳答案

你可以简单地使用

if type(x) == type(y):
fight()

Python 有一个类型系统,可以让您做到这一点。

编辑:正如 Martijn 指出的那样,由于类型在每个运行时只存在一次,您可以使用 is 而不是 ==:

if type(x) is type(y):
fight()

关于Python:询问两个对象是否是同一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30682791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com