Python3迭代具有相似名称的对象方法

2024-05-19 02:53:47 发布

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

我正在尝试迭代具有类似名称的对象方法列表。我有什么聪明的办法能做到这一点吗。我有类似的对象,但想使用一个迭代器,而不仅仅是一个函数列表。你知道吗

dog1.feed()
dog2.feed()
dog3.feed()
dog4.feed()
dog5.feed()
...

Tags: 对象方法函数名称列表feed办法dog1
2条回答

所有本地对象名都在locals()

for i in range(1,6):
    locals()["dog" + str(i)].feed()

不要使用字符串连接来执行基本上是eval的操作。把你的狗列在清单上:

for dog in [dog1, dog2,...,dogn]:
  dog.feed()

或者,稍微滥用列表理解语法:

[dog.feed() for dog in [dog1, dog2,...,dogn]

相关问题 更多 >

    热门问题