Разработка Python API: свободный интерфейс или аргументы

Я экспериментирую с простым портированием Protovis API на Python.

Рассмотрим простой пример гистограммы в Javascript:

var vis = new pv.Panel()
    .width(150)
    .height(150);

vis.add(pv.Bar)
    .data([1, 1.2, 1.7, 1.5, .7, .3])
    .width(20)
    .height(function(d) d * 80)
    .bottom(0)
    .left(function() this.index * 25);

vis.render();

Я обсуждаю, продолжать ли использовать этот API стиля свободного интерфейса или использовать вместо него именованные параметры. С именованными параметрами мы могли бы написать:

vis = pv.Panel(width=150,
               height=150)

vis = vis + pv.Bar(data=[1, 1.2],
                   width=20,
                   height=lambda d: d * 80,
                   bottom=0,
                   left=lambda: self.index * 25)
vis.render()

Есть ли предпочтительный стиль Python?

22
задан pyfunc 7 October 2010 в 16:57
поделиться