[Python] idio[ma]ticità
Marco De Paoli
depaolim a gmail.com
Lun 20 Apr 2015 15:50:38 CEST
2015-04-20 15:11 GMT+02:00 Marco Beri <marcoberi a gmail.com>:
> 2015-04-20 14:19 GMT+02:00 Marco De Paoli <depaolim a gmail.com>:
>
>> kwargs = {columns[c.column]: c.value for c in row}
>> kwargs.pop(None)
>>
>
> Marco,
> mi sfugge qualcosa oppure questo non farebbe la stessa cosa anche se in
> maniera meno efficiente?
>
> kwargs = {columns[c.column]: c.value for c in row if
> columns[c.column]}
>
la semantica è esattamente quella che hai scritto tu
... per cui: no, non ti sfugge nulla
ma sapevo che eravamo tutti un po in astinenza di trick/sfide dopo quella
sull' "eseguire il codice della borsa pycon" :-)
per cui ho buttarne la una...
posso eliminare quel pop? (che, come dice giustamente Riccardo è un WTF
assicurato) e non usare neppure un if?
mi sono detto: vuoi vedere che quei draghi della lista python mi tirano
fuori un, che ne so, itertools.magic_method che mi fa tutto in O(1) con una
sola riga di codice? :-)
...ok, proviamo a rilanciare...
in questo caso in un ambito un po' più specifico django
mettiamo che una delle colonne sia un FK
in tal caso il valore deve essere considerato key e bisogna fare un lookup
del model
Ovviamente serve giocare un po su _meta e fare introspezione sui fields...
...no, no, no... qua mi accorgo che il pycon mi ha rovinato!
oggi non riesco a scrivere una riga di codice "giusto per campare" senza
che mi scatti qualche paranoia sull'ipotesi [scegliere a caso tra le
seguenti]:
1. potrei farlo con una meta classe
2. potrei inserire un server tornado giusto "per non si sa mai"
3. potrei fare una tabella costituita da un unico campo jsonb e poi
(presumibilmente) ... riscrivere tutta la mia logica applicativa
4. dovrei usare pytest e rifattorizzare tutti i setUp/tearDown del mio
progetto
5. etc. etc. etc.
6. ah, già, anche... dovrei dare un occhiata al progetto pypy
giuro, alcune di queste idee mi vengono in mente solo in un particolare
periodo dell'anno
normalmente riesco anche a scrivere codice onesto e che funziona, senza
bisogno di scomodare domande tipo: "ma qui i type hint potrebbero farmi
comodo?"
oh, cavolo! dottore, mi dica, è grave?!?
quanto durerà l'effetto pycon?!? :-D
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150420/420ff50d/attachment.html>
Maggiori informazioni sulla lista
Python