在python中的超类方法中包含子类项

在python中的超类方法中包含子类项,python,class,import,subclass,Python,Class,Import,Subclass,我想要以下的东西: class superclass: def __init__(self): "blahblah" def some_method(self): variable = subclass() #This is a subclass of this superclass "do stuff with variable" Edit2:我在单独的文件中定义了这两个类。这就是我遇到的问题: 当我将超类导入到子类文件中时

我想要以下的东西:

class superclass:
    def __init__(self):
        "blahblah"

    def some_method(self):
        variable = subclass() #This is a subclass of this superclass
        "do stuff with variable"
Edit2:我在单独的文件中定义了这两个类。这就是我遇到的问题:

  • 当我将超类导入到子类文件中时,它无法导入超类,因为在没有定义子类的情况下无法定义超类,如果我尝试将子类导入到超类文件中,它将无法这样做,因为在没有定义超类的情况下无法定义子类
有人知道怎么做吗

Edit3:我在方法中需要这个子类而不是超类实例的原因是,当定义了其中一个实例时,它在一个大小为256的数组中被分配了一个空槽。子类可以被删除以释放其中一个插槽,之后不同的子类可以占用相同的插槽-但是,超类的对象不能占用以前由子类占用的插槽

总的来说,它是这样设置的:

  • 有两个boolian数组AvailableSlot和AvailableSlots2,大小为256,每个数组的初始索引都设置为True

  • 定义超类时,它会查找AvailableSlots2中的第一个True索引,然后将AvailableSlots[index]设置为False,将AvailableSlots2[index]设置为False

  • 定义子类时,它会查找AvailableSlots中的第一个True索引,然后将AvailableSlots[index]设置为False,将AvailableSlots2[index]设置为False

  • 当一个子类被销毁时,它只将AvailableSlots[index]设置为True,而将AbailableSlots2[index]设置为False。这使得下次我定义一个子类时,它会占用这个时间段,但如果我定义一个超类,它会跳过这个时间段


  • 对我来说,这听起来像是一个问题:你想用这个来完成什么?同意。作为旁注:您确定要硬编码子类的确切类型吗?我希望有一个子类是可删除的,而超类本身的实例不是。此外,子类的实例必须以稍微不同的方式初始化。@Keagan您能提出您的问题吗:尝试包含一个。为什么不在超类之外定义子类,然后执行variable=subclass()?你同意吗?