好的,我有类变量“name”,它是一个名称列表随机的
class Man(object):
def __init__(self, name, age)
self.name = "dylan"
self.age = 4
现在我想通过“dylan”来称呼年龄
所以我想做“dylan”.age,基本上。
我该怎么做?通过Value?
调用类的变量答案 0 :(得分:1)
在我看来,"名称"是一个实例变量而不是类变量。如果是这样的话,除非你已经引用了实例" dylan"否则无法访问它。
您是否可以创建一个字典来存储对您创建的所有实例的引用?
men["dylan"] = Man("dylan", 42)
?
然后你可以写men["dylan"].age
祝你好运!
答案 1 :(得分:1)
仅当每个名称都是唯一的时才会有效。
首先在对象类中创建两个返回年龄和名称的访问器方法。
def get_name(self):
return self.name
def get_age(self):
return self.age
然后,使用for循环创建一个方法,该循环遍历列表中的每个对象。调用对象名称,将其与您要查找的名称进行比较,如果匹配则返回年龄。
def find_age_of(sought_name):
for obj in obj_list:
if (obj.get_name().lower() == sought_name.lower()): #'.lower' negates case differences
return sought_age = obj.get_age()
最后,使用名称作为参数调用此方法:
sought_name = 'dylan'
sought_age = find_age_of(sought_name)
答案 2 :(得分:-1)
制作一个返回年龄的吸气剂
getAge
{
return self.age;
}