Nascondere i dati in Python: cos'è, vantaggi e svantaggi [con esempio di codifica]

Pubblicato: 2021-02-05

Sommario

Che cos'è l'occultamento dei dati?

È un metodo utilizzato nella programmazione orientata agli oggetti (OOP) per nascondersi con l'intenzione di nascondere informazioni/dati all'interno di un codice di computer. I dettagli degli oggetti interni, come i membri dati, sono nascosti all'interno di una classe. Garantisce un accesso limitato ai dati ai membri della classe mantenendo l'integrità degli oggetti. L'occultamento dei dati include un processo di combinazione dei dati e delle funzioni in un'unica unità per nascondere i dati all'interno di una classe limitando l'accesso diretto ai dati dall'esterno della classe. Se sei un principiante nella scienza dei dati e desideri acquisire esperienza, dai un'occhiata ai nostri corsi di scienza dei dati delle migliori università.

L'occultamento dei dati aiuta i programmatori di computer a creare classi con set di dati e funzioni univoci, evitando l'ingresso non necessario di altre classi nel programma. Essendo una tecnica di sviluppo software in OOP, garantisce l'accesso esclusivo ai dati e impedisce modifiche intenzionali o non intenzionali ai dati. Queste interdipendenze limitate nei componenti software aiutano a ridurre la complessità del sistema e ad aumentare la robustezza del programma.

L'occultamento dei dati è anche noto come l'occultamento delle informazioni o l'incapsulamento dei dati. L'incapsulamento dei dati viene eseguito per nascondere i dettagli di implementazione dell'applicazione ai suoi utenti. Poiché l'intenzione alla base di entrambi è la stessa, l'incapsulamento è anche noto come nascondere i dati. Quando un membro dati viene menzionato come privato nella classe, è accessibile solo all'interno della stessa classe e inaccessibile al di fuori di tale classe.

Nascondere i dati in Python

Python sta diventando un linguaggio di programmazione popolare in quanto si applica a tutti i settori e dispone di semplici strumenti e librerie di implementazione del programma. Il documento Python definisce Data Hiding come isolare il client da una parte dell'implementazione del programma. Alcuni oggetti nel modulo sono mantenuti interni, invisibili e inaccessibili all'utente.

I moduli nel programma sono sufficientemente aperti per capire come utilizzare l'applicazione, ma gli utenti non possono sapere come funziona l'applicazione. Pertanto, l'occultamento dei dati fornisce sicurezza, oltre a evitare la dipendenza. Il nascondiglio dei dati in Python è il metodo per impedire l'accesso a utenti specifici nell'applicazione.

L'occultamento dei dati in Python viene eseguito utilizzando un doppio trattino basso prima (prefisso) del nome dell'attributo. Questo rende l'attributo privato/inaccessibile e lo nasconde agli utenti. Python non ha nulla di segreto nel vero senso della parola. Tuttavia, i nomi dei metodi e degli attributi privati ​​sono internamente alterati e non alterati al volo, rendendoli inaccessibili con i loro nomi dati.

Esempio di nascondere i dati in Python

#!/usr/bin/python

classe JustCounter :

__conteggio segreto = 0

def conteggio ( auto ):

. __conteggio segreto += 1

stampa auto . __conteggio segreto

contatore = JustCounter ()

contatore . contare ()

contatore . contare ()

contatore di stampa . __conteggio segreto

Produzione

1

2

Tracciamento (ultima chiamata più recente):

File “test.py”, riga 12, in <module>

contatore di stampa.__secretCount

AttributeError: l'istanza JustCounter non ha l'attributo '__secretCount'

Python modifica internamente i nomi dei membri nella classe a cui accede object._className__attrName.

Se l'ultima riga viene modificata come:

……………………….

contatore di stampa._JustCounter__secretCount

Quindi funziona e l'output è:

1

2

2

Vantaggi dell'occultamento dei dati

  • Gli oggetti all'interno della classe vengono disconnessi dai dati irrilevanti.
  • Aumenta la sicurezza contro gli hacker che non sono in grado di accedere ai dati riservati.
  • Impedisce ai programmatori il collegamento accidentale a dati errati. Se il programmatore collega questi dati nel codice, restituirà solo un errore indicando correzioni nell'errore.
  • Isola gli oggetti come concetto base di OOP.
  • Aiuta a prevenire danni ai dati volatili nascondendoli al pubblico .

Svantaggi dell'occultamento dei dati

  • A volte può costringere il programmatore a utilizzare una codifica aggiuntiva.
  • Il collegamento tra i dati visibili e quelli invisibili rende gli oggetti più veloci, ma l'occultamento dei dati impedisce questo collegamento.
  • L'occultamento dei dati può rendere più difficile per un programmatore e la necessità di scrivere codici lunghi per creare effetti nei dati nascosti.

Pertanto, l'occultamento dei dati è utile in Python quando si tratta di privacy e sicurezza di informazioni specifiche all'interno dell'applicazione. Aumenta il lavoro per i programmatori durante il collegamento di dati nascosti nel codice. Ma i vantaggi che offre sono davvero inevitabili.

Leggi anche: Domande e risposte sull'intervista Python

Conclusione

Per partecipare gratuitamente al nostro corso online Python, devi solo seguire questi passaggi:

  • Vai alla nostra pagina upStart
  • Seleziona il corso "Python for Data Science".
  • Clicca su Registrati
  • Completa il processo di registrazione

Questo è tutto. Puoi imparare Python online gratuitamente attraverso il nostro programma upStart appena lanciato e dare il via al tuo viaggio nella scienza dei dati. Dovresti investire solo 30 minuti al giorno per poche settimane. Questo programma non richiede alcun investimento monetario.

Iscriviti oggi e inizia.

Se hai domande o suggerimenti su questo argomento, faccelo sapere nei commenti qui sotto. Ci piacerebbe sentirti.

Se sei curioso di conoscere la scienza dei dati, dai un'occhiata al programma Executive PG in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con esperti del settore, 1 -on-1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.

Cosa nascondono i dati in Python?

L'occultamento dei dati è uno dei concetti centrali della programmazione orientata agli oggetti che limita l'accesso ai dati dal mondo esterno. Dettagli come i membri dei dati vengono nascosti con l'aiuto dell'identificatore di accesso "Privato". Considera il seguente esempio per una migliore comprensione.
Supponiamo di avere una classe chiamata myClass e un membro privato chiamato __privateCounter. All'interno di questa classe, abbiamo una funzione chiamata myFunc che incrementa il valore di __privateCounter di 1 e lo stampa. Al di fuori della classe, abbiamo creato un oggetto della classe e chiamato myFunc usando questo oggetto. Ora, se proviamo a stampare __privateCounter usando questo oggetto, genererà un errore.
Nell'esempio sopra, "__privateCounter" è per impostazione predefinita un membro privato della classe "myClass". Dal momento che abbiamo nascosto i dati su di esso, non è possibile accedervi al di fuori della classe in cui è stato dichiarato. Per accedere ai membri privati, dobbiamo definire una funzione membro, che in questo caso è “myFunc”.

Quali sono i vantaggi e gli svantaggi dell'occultamento dei dati?

Sebbene l'occultamento dei dati sia un concetto fondamentale delle OOP e abbia molti vantaggi, presenta anche alcuni svantaggi. Di seguito sono riportati alcuni dei vantaggi e degli svantaggi più significativi dell'occultamento dei dati in Python:
Vantaggi
1. Aiuta a prevenire l'uso improprio e la manipolazione di dati volatili dichiarandoli privati.
2. I dati membri della classe vengono scollegati dai dati irrilevanti.
3. Isola gli oggetti come concetto base di OOP.
Svantaggi
1. I programmatori sono spesso costretti a scrivere codici lunghi per proteggere i dati volatili dai client.
2. Gli oggetti funzionano in modo relativamente più lento poiché il collegamento tra i dati visibili e invisibili lo fa funzionare velocemente e l'occultamento dei dati impedisce questo collegamento.

In che modo l'occultamento dei dati differisce dall'astrazione dei dati?

L'occultamento dei dati supporta l'idea di limitare i dati in modo che non possano essere consultati o modificati dal mondo esterno. Ad esempio, i dettagli sulla retribuzione di un dipendente sono nascosti agli altri dipendenti. In Python, ciò si ottiene utilizzando il "modificatore di accesso privato".
L'astrazione dei dati si riferisce all'idea di nascondere l'implementazione interna e mostrare solo le caratteristiche al mondo esterno. Ad esempio, in una calcolatrice, vengono visualizzate solo le operazioni eseguite dalla calcolatrice. Tuttavia, non è possibile visualizzare il funzionamento interno di queste operazioni. In Python, per implementarlo vengono utilizzati identificatori di accesso diversi.