我想为子类添加一个附加属性。我生成了一个类Plant。现在,我将创建一个Plant_w_ID类,该类是Plant的派生子类。 Plant_w_ID类应包含一个附加属性plant_id,该属性保存每个植物的标识符。植物标识符可以作为参数传递给创建函数,例如plant = Plant_w_ID('P1')
我还需要在Plant_w_ID类中定义一个'getter'方法来相应地检索ID属性的值。
我可以知道如何
i)为Plant_w_ID类包括一个附加属性plant_id
ii),我不知道如何将植物标识符作为参数传递给创建函数。 plant = Plant_w_ID('P1')
iii)在Plant_w_ID类中定义一个“ getter”方法以相应地检索ID属性的值
最后,使用吸气剂方法的目的是什么?这是我写的脚本。谢谢。
import random
genome_length =50
bases = ['A', 'C', 'T', 'G']
class Plant:
def __init__(self):
self.genome = []
self.genome = [random.choice(bases) for _ in range(genome_length)]
class Plant_w_ID(Plant):
def __init__(self, plant_id):
super().__init__()
self.plant_id = plant_id
def add_plant_id(self, plant_id):
for i in range(len(plant_list)):
plant_id='P'+str(i)
plant_list.append(plant_id)
def main():
plant_list = []
for x in range (5):
plant =Plant()
plant_list.append(plant)
您可以从Plant类继承,并添加所需的其他属性,如下面的示例plant_id。另外,不要忘记使用相关属性调用Plant __init__
函数。
可以通过几种方法来获取新属性(以下显示了两个示例)
import random
genome_length = 50
bases = ['A', 'C', 'T', 'G']
class Plant:
def __init__(self):
self.genome = list()
self.genome = [random.choice(bases) for _ in range(genome_length)]
def get_genome(self):
return self.genome
class Plant_w_ID(Plant):
def __init__(self, plant_id):
super().__init__()
self.plant_id = plant_id
@property
def plant_id(self):
return self.plant_id
def get_plant_id(self):
return self.plant_id
def main():
plant_list = []
for x in range (5):
plant =Plant_w_ID('P{0}'.format(x))
plant_list.append(plant)