我可以将字典作为具有默认返回值的属性吗?

时间:2015-08-28 16:01:04

标签: python dictionary

我不确定这是否可行,但我想要的是让字典充当属性,在调用时它会返回默认值。基本上是:

var chart = c3.generate({
    data: {
        x: 'x',
        type: 'bar',
        columns: [
            ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-06', '2013-01-07', '2013-01-08'],
            ['data1', 30, 200, 100, 400, 150, 250]
        ]
    },
    axis: {
        x: {
            type: 'timeseries',
            tick: {
                format: '%Y-%m-%d'
            }
        }
    }
});

如果甚至可以做到这一点,那么最有效的方法是什么?

1 个答案:

答案 0 :(得分:2)

我认为,对于最终用户来说,最不令人惊讶的结果来自于提供带有可选参数的访问方法,如下所示:

class galaxy(object):
    def __init__(self):
        self._mass = {'total':10,
                      'gas':2,
                      'stellar':8}
    def get_mass(self, body='total'):
        return self._mass[body]

gal = galaxy()
print gal.get_mass()
print gal.get_mass('gas')

或者,或许:

class galaxy(object):
    def __init__(self):
        self._mass = {'gas':2,
                      'stellar':8}
    def get_mass(self, body=None):
        if body is None:
            return sum(self._mass.values())
        return self._mass[body]