我正在尝试迭代具有相似名称的对象方法列表。我有什么聪明的方法可以做到这一点。我有类似于此的对象,但是想使用迭代器而不是仅仅创建函数列表。
dog1.feed()
dog2.feed()
dog3.feed()
dog4.feed()
dog5.feed()
...
答案 0 :(得分:1)
所有本地对象名称都在locals()
:
for i in range(1,6):
locals()["dog" + str(i)].feed()
答案 1 :(得分:0)
不要使用字符串连接来执行基本上eval
的操作。把你的狗放在一个清单中:
for dog in [dog1, dog2,...,dogn]:
dog.feed()
或者,滥用列表理解语法:
[dog.feed() for dog in [dog1, dog2,...,dogn]