如何通过其值调用类变量

时间:2016-03-31 12:53:59

标签: python-2.7

好的,我有类变量“name”,它是一个名称列表随机的

class Man(object):
  def __init__(self, name, age)
      self.name = "dylan"
      self.age = 4

现在我想通过“dylan”来称呼年龄

所以我想做“dylan”.age,基本上。

我该怎么做?通过Value?

调用类的变量

3 个答案:

答案 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;
}