Python 类和子类识别
我该如何检查某个东西是子类还是类。比如说:Python 类和子类识别,python,list,class,subclass,Python,List,Class,Subclass,我该如何检查某个东西是子类还是类。比如说: class Cat(object): def __init__(self,run,fast): """run is a list of speeds or something. But it can be from dogs or cats. Fast is a single number""" self.run=run self.fast=fast class Dog(Class):
class Cat(object):
def __init__(self,run,fast):
"""run is a list of speeds or something. But it can be from dogs or cats. Fast is a single number"""
self.run=run
self.fast=fast
class Dog(Class):
def __init_(self,run, fast):
Cat.__init__(self,run,fast)
self.jumper=[]
def update(self)
for number in self.fast:
if number is CATTYPE:
self.jumper.append(number)
if number is DOGTYPE:
self.jumper.append(number)
基本上,我正在尝试,在有所有大写字母的情况下,找到一种方法来表示fast,查找它是否为cat类型,然后附加到jumper。我知道这是一个愚蠢的例子,但我想知道当一个是另一个的子类时如何处理这个问题
>>> issubclass
<built-in function issubclass>
>>> class Foo: pass
>>> class Bar(Foo): pass
>>> issubclass(Foo, Bar)
False
>>> issubclass(Bar, Foo)
True
>>> isinstance(Bar(), Foo)
True
但是,从你模棱两可的来源来看,似乎你在试图建立某种赛狗程序,记录“跳跃记录”并挑选“快速跳跃者”。这让我们想知道你想用实例类检查做什么。我很困惑-数字是一个类,一个类的实例,还是一个数字?使用issubclassB,C检查B是否是C的子类,你的例子也显示了这一点。
if isinstance(animal_instance, Dog):
#instance of Dog
if isinstance(animal_instance, Cat):
#instance of Cat