是否可以在类中使用参数作为对象的标识?例如:
class simpleclass:
def __init__(self, name):
self.name = name
myobject = simpleclass("Jerry")
myobject2 = simpleclass("Jimmy")
如何调用所有名称为“ Jerry”的对象? 可能吗谢谢!
答案 0 :(得分:1)
只需检查要检查的每个对象的name
属性是否为'Jerry'
:
objects = [myobject, myobject2, ...]
[obj for obj in objects if obj.name == 'Jerry']
答案 1 :(得分:1)
听起来您可能想使用字典将对象的标识符映射到具有相同标识符的所有对象的列表。下面是一个示例。
from collections import defaultdict
simpleclass_list_by_name = defaultdict(list)
simpleclass_list_by_name['Jerry'].append(simpleclass('Jerry'))
simpleclass_list_by_name['Jerry'].append(simpleclass('Jerry'))
for name in simpleclass_list_by_name:
simpleclass_list = simpleclass_by_name[name]
for sc in simpleclass_list:
# do something