通过移动字典来优化方法

2024-04-19 05:08:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类Mammal,它继承自一个类Animalanimal_call(...)是在Animal类中定义的方法。当方法被Mammal对象调用时,它会从Animal类中定义的字典返回一个噪声。如果这个字典animalCalls要包含每个动物的噪声,那将是相当大的。现在,我不太确定python搜索一个字典需要多长时间,如果它有50000个不同的值,并且一个动物没有多个噪声

所以我想为动物的每个子类分别创建字典,MammalFish,等等。这将使每一本词典变得更小,搜索速度更快,因为这样一来,a Fish就不需要知道a Moose说了什么

我看到的问题是,我没有遵守干巴巴的原则。在Animal的每个子类中都会有一个重复的animal_call方法,或者我认为是这样

现在,我知道游戏结束时我不会再手工构建更多的子类,例如,我手工编写了一个Elephant类,该类继承自Mammal,该类继承自Animal。我知道有些时候我会用这个程序来构建这些类,只是在学习python的时候我还没有学会

我问这个问题是因为我知道分拆一个字典是值得的,因为它的复杂性稍微增加了,或者它的大小很小(我知道这取决于字典中存储的内容、单个值或列表等等)


Tags: 对象方法字典定义call子类噪声手工