Ben tornato.
Nel video precedente, abbiamo visto che abbiamo fatto un grosso booboo, cioè abbiamo sovrascritto il nome e la parola, e ora
tutto il duro lavoro che abbiamo messo nella nostra classe è stato sovrascritto da questo.
Voglio dire, certo, se istanziamo un nuovo oggetto.
Faremo la nostra corsa e parleremo, ma il giocatore uno ora è completamente inutile, non ha nome e parla, ma
dice solo Boo, completamente inutile.
Ora, in Python, c'è questa idea di pubblico e privato, e questo è correlato alla nostra
discussione sull'astrazione, l'idea dietro l'astrazione è che nascondiamo le informazioni e diamo accesso solo alle cose di
cui un utente è preoccupato.
Destra.
Quindi, idealmente, non dovremmo avere accesso ad esso.
Idealmente, non dovremmo essere in grado, diciamo, di modificare, eseguire o modificare il nome e l'età, perché
quando creiamo un personaggio del giocatore nel nostro gioco, si spera che il giocatore possa cambiare nome o età in
modo casuale.
E intrufolati nel nostro gioco, che forse ha solo 18 anni e più.
Quindi possiamo creare una variabile privata nella nostra classe?
Bene, ecco la cosa.
Alcuni linguaggi ci consentono di avere variabili private.
Ad esempio, in un linguaggio come Java, posso effettivamente dire che un attributo è privato come questo e non
sarò in grado di accedervi e modificarlo come ho fatto in questo modo.
Ma in Python non esiste una vera privacy, nessuna vera variabile privata.
Quindi come possiamo aggirare questo?
Bene, quello che faremmo è sottolineare il nome o il carattere di sottolineatura H.
Ora, questo dà qualche potere speciale?
No, questa è solo una convenzione che è come programmatori, come programmatori Python, abbiamo stabilito che,
ehi, se vediamo il carattere di sottolineatura nel nostro codice, molto probabilmente significa che questa dovrebbe essere una variabile privata.
In modo che quando lo uso in speak, diciamo underscore name, underscore H.
E commentiamo questo se clicco, Ron.
Bene, devo eseguirlo perché ora è un metodo, eseguiamo.
E mi chiamo Andre, e ho 100 anni.
Funziona tutto, ma se provo a sovrascriverlo e faccio clic su Esegui.
OK, e ora, perché non è più un metodo, rimuoviamo, parliamo e clicco su Esegui.
Funziona ancora, ed è perché, come ho detto, non ci sono vere variabili private come programmatori, abbiamo deciso che il carattere
di sottolineatura significa che non dovresti toccarci.
Per favore, non toccarlo.
Puoi ancora essere cattivo e fare qualcosa del genere.
Ma ti sto informando in anticipo.
Se vedi il carattere di sottolineatura, questo non deve essere modificato.
Questo dovrebbe essere privato.
Ed è così che otteniamo la privacy in Python.
Eravamo tutti d'accordo nel dire, ehi, teniamo questa piccola cosa privata.
Quindi, se vuoi mantenere privato un metodo o un attributo, metti semplicemente un trattino basso davanti ad esso.
Ma non è una garanzia.
Che dire di questo doppio carattere di sottolineatura init?
Di nuovo, questo è qualcosa di cui parleremo molto presto, ma si chiama metodo Dundar.
Cioè, è integrato in Python.
E di solito non scriviamo mai i nostri metodi Dundar, non scriveremmo mai il doppio carattere di sottolineatura, scriveremo questo.
Questi doppi caratteri di sottolineatura e ce ne sono molti hanno un significato speciale in Python.
E il motivo per cui il loro nome è così è perché stanno dicendo, ehi, se stai scrivendo un doppio trattino
basso per la tua variabile, stai facendo qualcosa di molto sbagliato, stai per sovrascrivere qualcosa.
Quindi, ancora una volta, questo doppio trattino basso è anche una convenzione per far sapere alle persone che
non dovresti davvero toccarlo o modificarlo con ogni tipo di dati.
Diciamo una lista.
Se faccio Dot, lo vedrai mentre scorri verso il basso.
Hai molti di questi metodi Dundar, di nuovo, qualcosa di cui parleremo.
Ma questi sono qui per farti sapere, non sovrascriverli.
Se stai facendo qualcosa come underscore, underscore, non conosco un documento come questo, non va bene.
Non provare a modificarlo e assegnarlo in cinque.
Quindi questa idea di un campo privato è importante per Python, e sebbene possiamo sovrascrivere molte cose, è una
cattiva pratica.
Ma torniamo all'astrazione.
L'idea è di astrarre questo codice.
E sebbene possa essere modificato e sovrascritto utilizzando queste convenzioni appropriate come gli attributi privati, siamo in grado di
astrarre le cose, ma ci assicuriamo comunque che qualunque cosa l'utente possa utilizzare non romperà il
nostro codice.
Ci vediamo alla prossima, Bob.