Estoy jugando con un puerto simple de la API Protovis a Python.Diseñando una API de Python: Interfaces o argumentos fluidos
Considere el ejemplo sencillo gráfico de barras, en 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();
estoy debatiendo si se debe continuar para utilizar este fluidez API estilo de interfaz o utilizar parámetros con nombre en su lugar. Con parámetros con nombre podríamos escribir:
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()
¿Hay un estilo preferido de Python?
Interesante. He visto ambos. Por ej. Django usa ambos: cadenas de métodos y argumentos de palabras clave. –
Quizás sea solo yo, pero creo que es feo: P – poke
La ventaja de la sintaxis de la palabra clave es que puedes usar algo como 'pv.Bar (** kwargs)' más fácilmente que con la API fluida. Además, como lo he visto en JavaScript con jQuery, se utilizan muchas funciones anónimas, que no se adaptan bien a Python. –