首页 > 解决方案 > vars() 函数有什么用?

问题描述

我在python中遇到过这个函数vars(),我知道它返回__dict__传递给函数的对象的属性但是你能给我一个真实世界的使用例子吗,比如我们可以在真实项目中使用它的地方

标签: python

解决方案


让我举个例子:有时你可能需要检查一个类对象的属性是 None 或其他,你可以使用 vars()

class Test(object):
    def __init__(self):
        self.a = None
        self.b = None
        self.c = None

    def init_abc(self, init_dict):
        """init class param"""
        self.a = init_dict.get('a')
        self.b = init_dict.get('b')
        self.c = init_dict.get('c')

    def __repr__(self):
        return 'a=%s,b=%s, c=%s' % (self.a, self.b, self.c)

test = Test()
init_abc_dict = {'a':1, 'c':2}
test.init_abc(init_abc_dict)
print 'Test:%s' % test
if None in vars(test).values():
    print 'some attr is None'

推荐阅读