[Soci SLIP] Python
Lucio Crusca
lucio a sulweb.org
Gio 6 Apr 2006 15:37:58 CEST
Ciao gente,
visto che c'è un po' troppo silenzio sulla lista, mi metto a parlare tanto per
passare il tempo, anche se forse sono un po' OT.
Sto dando uno sguardo a questo linguaggio osannato da tutti che è noto col
nome di Python. La mia impressione, per quanto nessuno me l'abbia chiesta, è
che sia una schifezza allucinante. A giudicare dalla libreria a disposizione
sembrerebbe qualcosa di orientato a progetti di una certa portata, ma a
giudicare dalla sintassi e semantica devo dire che non ho mai visto nulla di
più permissivo: in Python puoi scrivere qualsiasi tipo di vaccata, salvo poi
sperare che questo non generi errori a runtime (e tipicamente la speranza è
vana). Tipizzazione statica? Chissenefrega. Leggibilità del codice? Perfetta,
basta conoscere delle regole non proprio ovvie. Esempio:
a, b = b, a + b
A prima vista direi che significa:
a = b
b = a + b
E qui casca il programmatore, perché in realtà la riga significa:
c = a
a = b
b = b + c
Chiaro no? Ma poi, a cosa serve questo tipo di sintassi? Quando ci capiterà
mai di usarla? Credo che sia stata inventata solo per poter scrivere la serie
di Fibonacci con due righe di codice in meno di qualsiasi altro linguaggio.
Ma non era meglio una funzione tipo fibonacci(a, b)? Mi sembra più leggibile.
Parliamo delle liste.
3*a[:3]
Sta roba significa:
Prendi la lista a, estrai i primi 3 (o 4?) elementi, e produci una nuova lista
concatenando per 3 volte gli elementi di a che hai estratto.
Se invece scrivo
3*a[3]
significa: prendi il quarto elemento della lista a e moltiplicalo per 3. Nel
caso in cui, per disgrazia visto che la tipizzazione statica non c'è, il
quarto elemento di a fosse a sua volta una lista invece che un numero, la
stessa espressione invece di fare una normale moltiplicazione mi genera di
nuovo una lista come nel caso precedente. Il tutto per avere un'operazione di
dubbia utilità: a chi serve concatenare N volte la stessa lista?
Fino a qui le mie impressioni raccolte con i primi 3 capitoli della guida.
Speriamo che dopo migliorino!
Maggiori informazioni sulla lista
Soci