Używam prostego portu interfejsu API Protovis do Pythona.Projektowanie interfejsu API języka Python: Płynny interfejs lub argumenty
Rozważmy prosty przykład wykres słupkowy, w 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();
Ja zastanawiając się, czy nadal korzystać z tej płynny styl interfejsu API lub zamiast używać nazwanych parametrów. Przy nazwanych parametrach możemy napisać:
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()
Czy jest preferowany styl Python?
Interesujące. Widziałem oba. Dla np. Django używa zarówno łańcuchów metod, jak i argumentów słów kluczowych. –
Może to tylko ja, ale myślę, że to zarówno brzydka: P – poke
Zaletą składni słowa kluczowego jest to, że można użyć czegoś takiego jak 'pv.Bar (** kwargs)' łatwiej niż przy płynnym API. Ponadto, jak widziałem to w JavaScript z jQuery, użytych jest wiele anonimowych funkcji - nie mapują one dobrze do Pythona. –