|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2010
Messaggi: 157
|
[PYTHON] Dubbi su metodi/variabili private
Ciao,
recentemente ho iniziato a programmare in python. Venendo da java dove le variabili sono marcate da un modificatore ho notevoli problemi a capire come mai python invece non mi permette di avere metodi e variabili *realmente* private. Onestamente per me al momento è inconcepibile che qualcuno possa modificare una variabile privata che magari influsce sul corretto comportamento dell'intero oggetto, ma immagino che se è stata scelta questa via un motivo ci sarà. Ma quale?? Grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Il creativo ha deciso di non implementare nessun meccanismo di protezione, lasciando piena libertà sia al programmatore di una classe che all'utilizzatore di fare ciò che vogliono.
Ti è mai capitato di avere un membro privato che t'impedisce di realizzare ciò che pensavi di fare, e che ti costringerebbe a riscriverti tutto? Se sei fortunato e il creativo ha dichiarato un metodo come protetto anziché come privato, puoi salvarti usando un cracker, che poi alla fine è uno sporco trucco per rendere pubblico ciò che è stato marcato diversamente. Tutti questi problemi con Python non ci sono: è tutto pubblico. Se proprio ci tieni a far sapere agli altri che è meglio non toccare qualcosa, per convenzione (e solo come tale) puoi mettere un _ davanti a questi identificatori. P.S. Ne abbiamo parlato di recente anche qui. ![]()
__________________
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 |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Dovresti viverla più serenamente però. Dai zio, tranqui...
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: May 2010
Messaggi: 157
|
"inconcepibile" ovviamente nel senso che venendo da Java e avendo una certa idea di strutturazione del codice di una classe mi viene difficile pensarla subito in maniera cosi meno restrittiva.
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Guardati "Dragon - La storia di Bruce Lee": magari ti sarà utile per liberarti da certi schemi.
![]()
__________________
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 |
Member
Iscritto dal: May 2010
Messaggi: 157
|
Ok lo vedrò.
Ma mi chiedo: la mia domanda è davvero cosi fuori dal mondo o non sono il solo stupido che è spiazzato da questa cosa? |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
![]()
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: May 2010
Messaggi: 157
|
Mi rimetto a studiare va.
Ho una cultura da farmi!!! |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
No, non sei affatto l'unico. Infatti anche nel thread di cui t'ho passato il link prima, l'utente si lamentava esattamente delle stesse cose.
Il problema, come dicevo, è l'essere rimasti intrappolati in certi schemi mentali, per cui tendete a vedere le cose solo in quel modo, e vi sembra che debba essere l'unico, per cui davanti a cose completamente diverse vi trovate spiazzati. Goditi il film, e poi applica lo stesso principio alla programmazione con Python: liberati dagli schemi! ![]()
__________________
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: 18:25.