我有一個父類的列表值:遍歷字典中的
class Animal(object):
animalFoods = {'Elephant': ['Grass', 'Trees'], 'Turtle': 'Fish'}
def animal_food(self):
foods = Animal.animalFoods[self.__class__.__name__]
for food in foods:
return food
然後,我有一個子類:
class Elephant(Animal):
pass
我創建一個對象:
Dumbo = Elephant()
而且嘗試打印出其食物選擇:
>>> print(Dumbo.animal_food())
Grass
我希望它打印出來
Grass
Trees
我看到它是如何通過尋找animalFoods
字典中的關鍵工作,但我不知道爲什麼它不值列表返回兩個值。
指向額外閱讀的指針只是提供了一個快速和骯髒的答案,因爲這是我第一次使用超出單值的字典。
由於您已經有食物'食物= Animal.animalFoods [self .__ class __.__ name __]'的列表,因此不需要重複該列表。此外,如果你想打印列表中的項目,你可以看看[Pythonic的方式來打印列表項目](http://stackoverflow.com/questions/15769246/pythonic-way-to-print-list-items) 。或者如果你想迭代列表,那麼你停止在中途的原因,正如@Alex指出的那樣,以'return'結尾 –
謝謝你的額外幫助鏈接:) –