我正在使用 Pygame 用 Python 构建一个游戏。我创建了一个充当按钮的类。单击时,它会在各种状态之间循环(稍后会执行更多操作。)
我需要的是它们的网格,我可以动态调整其大小。我有一个函数可以迭代并分配类对象坐标并使网格(图像生成但最终是静态的),但我不确定它是否正确创建了对象。即使确实如此,当函数结束时它们也会从内存中删除,因为它们是本地的。
我看过很多东西,人们说使用字典来存储动态创建的对象,但我需要类对象仍然能够使用它们的函数。有没有办法迭代一组具有动态名称的类对象并保留它们?我可以手动创建一个巨大的网格,但我真的不想显式创建并分配 100 个或更多坐标给对象。
最佳答案
字典(或列表,或其他什么)就是答案。我不明白为什么您会认为将实例存储在容器中意味着您无法访问它们的方法。您可以,就像以前一样。
例如,如果您的类有一个方法“my_method”,您可以在从字典中检索到的该类的对象上调用它:
my_dict['my_instance'].my_method()
关于python - 在函数中创建类对象并保留它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32457224/