|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
[PYTHON] Passaggio dei parametri
In un thread è stato riportato questo in merito al passaggio dei parametri con Python, lasciando intendere che ci sia un'alone di confusione, e di poca chiarezza anche nelle risposte fornite.
Facciamo chiarezza. Intanto notiamo la prima risposta è già di per se molto chiara. Il buon Alex Martelli (guru di Google) spiega che il passaggio dei parametri avviene sempre e soltanto per riferimento dell'oggetto (passato). Già questo dovrebbe essere sufficiente per capire il modello adottato da Python. Successivamente aggiunge dei dettagli per fugare ogni dubbio. Come per qualunque linguaggio di programmazione orientato agli oggetti, possiamo avere degli oggetti che possono cambiare il loro stato oppure no. Questo è banale: un oggetto modifica il proprio stato in risposta a particolari metodi che mette e a disposizione. Se non esiste nessun metodo che consente di cambiare il suo stato, è chiaro che... sarà un oggetto non modificabile. Da qui è evidente che esistono due "tipi" di oggetti in Python (e non): quelli mutabili e quelli immutabili. Passando i primi come parametri, è ovvio che diamo la possibilità a chi li riceve di poter cambiare il loro stato: è sufficiente che la funzione invochi qualche metodo che lo faccia (oppure che venga fatto accesso in scrittura a qualche proprietà). Quindi se NON vogliamo che ciò accada, basterà passare sempre... una loro COPIA. Sic et simpliciter. Coi secondi non esiste la possibilità di cambiamento, per cui non si pone il problema: si possono passare in tutta tranquillità e sicurezza. E' tutto. Penso sia abbastanza chiaro. Se qualcuno avesse ancora dei dubbi sono a disposizione per chiarirli.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
immagino che ti riferisci a me
mi scuso con Alex Martelli perchè la sua risposta è senza dubbio chiara, ma io mi riferivo a questa risposta http://mail.python.org/pipermail/pyt...er/234174.html |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Non era mia intenzione continuare la polemica, altrimenti ti avrei citato.
Nello specifico il mio obiettivo era di diradare eventuali dubbi fossero affiorati sull'argomento, visto che il modello scelto da Python è estremamente semplice e chiaro. Ho visto il link di cui parlavi, ma non posso pretendere che tutti gli utilizzatori di Python abbiano la medesima chiarezza espositiva di un Guido, Alex, Reimond, ecc. ![]() Fanno fede le specifiche del linguaggio per giudicarne le funzionalità e spero siano state chiarite oltre ogni dubbio.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
|
Studiando da Imparare Python, uno degli aspetti più positivi è come l'autore divide subito gli oggetti in mutabili e non, spiega come Python gestisce la tipizzazione dinamica, e come evitare problemi quando si ha a che fare con oggetti mutabili e referenze condivise
__________________
In a world without fences, who needs Gates? Power by: Fedora 8 - Mac OS X 10.4.11 |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Hai qualche link al libro (immagino sia disponibile gratuitamente online)?
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
|
Non lo è, su Google Libri trovi un arteprima del libro
http://books.google.it/books?id=nEJ-...tcover&rview=1 EDIT: aggiornato il link all'ultima versione
__________________
In a world without fences, who needs Gates? Power by: Fedora 8 - Mac OS X 10.4.11 Ultima modifica di nico159 : 18-08-2008 alle 11:28. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Ah, ma questo lo conosco. E' un libro fatto veramente molto bene.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:21.




















