使用变量调用类的属性

时间:2017-10-31 00:51:15

标签: python function class variables

我仍然对python有点新意,我正在尝试使用变量来调用类的特定属性。但是,我想我可能会遗漏一些东西。我在下面列举了一个例子。谢谢你的帮助!

 class character(object):
        def __init__(self, name, name1, name2):
            self.name = name
            self.name1 = name1
            self.name2= name2

bob = character('bob', 'bob1', 'bob2')


def print_name(var1, var2):
    print(var1.var2)

print_name(bob, 'name1')

1 个答案:

答案 0 :(得分:1)

尝试使用getattr

class character(object):
        def __init__(self, name, name1, name2):
            self.name = name
            self.name1 = name1
            self.name2= name2

bob = character('bob', 'bob1', 'bob2')


def print_name(var1, var2):
    print(getattr(var1,var2))

print_name(bob, 'name1')

这来自documentation

  

返回object的named属性的值。名字必须是   串。如果字符串是对象属性之一的名称,   结果是该属性的值。例如,getattr(x,   ' foobar')相当于x.foobar。如果命名属性没有   如果提供,则返回default,否则返回AttributeError   提高。