logo

Metodo privato Python

introduzione

In Python, un metodo privato è un metodo che non è destinato ad essere utilizzato al di fuori della classe in cui è definito. Questi metodi sono indicati da un doppio prefisso di sottolineatura (__) prima del loro nome e sono accessibili solo all'interno della classe in cui sono definiti. In questo articolo discuteremo il concetto di metodi privati ​​in Python, i loro vantaggi e svantaggi e come utilizzarli con esempi.

Cos'è un metodo privato in Python?

Un metodo privato è un metodo che non è destinato a essere utilizzato all'esterno della classe in cui è definito. Questi metodi vengono utilizzati per implementare funzionalità interne all'interno della classe. Questi non sono pensati per essere utilizzati da codice esterno. In Python, i metodi privati ​​sono indicati da un doppio prefisso di sottolineatura prima del loro nome.

programma c per il confronto di stringhe

Esempio

 __method_name 

Come definire un metodo privato in Python?

Quando il programmatore desidera definire un metodo privato in Python, deve aggiungere un doppio prefisso di sottolineatura prima del nome del metodo. Ecco un esempio:

Programma 1:

 class MyClass: def __init__(self): self.__private_method() def __private_method(self): print('This is a private method.') # Instantiate, the class my_obj = MyClass() 

Produzione:

Metodo privato Python

Spiegazione:

Nell'esempio sopra, abbiamo definito una classe chiamata MyClass. Ha un metodo privato chiamato __private_method. Questo metodo viene chiamato dal costruttore della classe (__init__) utilizzando self.__private_method(). Poiché il metodo ha un doppio prefisso di sottolineatura, è privato e non è possibile accedervi all'esterno della classe.

Programma 2:

 class BankAccount: def __init__(self, account_number, balance): self.__account_number = account_number self.__balance = balance def deposit(self, amount): self.__balance += amount def withdraw(self, amount): if self.__balance >= amount: self.__balance -= amount else: print('Insufficient funds') def __display_balance(self): print('Account Balance:', self.__balance) def statement(self): print('Account Number:', self.__account_number) self.__display_balance() # create a BankAccount object my_account = BankAccount('123456789', 1000) # make some transactions my_account.deposit(500) my_account.withdraw(200) # print a statement my_account.statement() 

Produzione:

Metodo privato Python

Spiegazione:

Java e altalena

Il codice fornito definisce una classe BankAccount con metodi per depositare e prelevare fondi, visualizzare il saldo del conto e stampare un estratto conto. Viene quindi creata un'istanza di questa classe e vengono eseguite alcune transazioni su di essa, seguite dalla stampa di un'istruzione.

Vantaggi dei metodi privati ​​in Python

    Incapsulamento:I metodi privati ​​aiutano a ottenere l'incapsulamento. È un principio fondamentale della programmazione orientata agli oggetti. Rendendo privati ​​alcuni metodi, il programmatore può controllare il modo in cui si accede alle funzionalità interne della classe dal codice esterno. Ciò rende la classe più sicura e aiuta a prevenire modifiche indesiderate al comportamento della classe.Riutilizzabilità del codice:I metodi privati ​​possono essere utilizzati per implementare funzionalità interne che possono essere riutilizzate all'interno della classe. Ciò può aiutare a ridurre la duplicazione del codice e migliorare la manutenibilità del codice.Debug facile:I metodi privati ​​sono accessibili solo all'interno della classe, semplificando il debug del codice isolando il comportamento della classe.

Svantaggi dei metodi privati ​​in Python

    Accesso limitato:I metodi privati ​​sono accessibili solo all'interno della classe in cui sono definiti. Ciò significa che se il programmatore deve accedere alle funzionalità di un metodo privato dall'esterno della classe, deve creare un metodo pubblico che chiami il metodo privato. Ciò può aggiungere ulteriore complessità al codice.Falso senso di sicurezza:I metodi privati ​​di Python non sono veramente privati. È ancora possibile accedervi all'esterno della classe utilizzando la sintassi _classname__methodname(). Tuttavia, questa è considerata una cattiva pratica e dovrebbe essere evitata.Maggiore complessità:L'uso di metodi privati ​​può aumentare la complessità del codice, rendendone più difficile la comprensione e la manutenzione. Ciò può essere particolarmente vero se i metodi privati ​​sono scarsamente documentati.

Conclusione

I metodi privati ​​in Python sono una funzionalità utile che può aiutare a ottenere l'incapsulamento e migliorare la manutenibilità del codice. Sebbene presentino alcuni svantaggi, i vantaggi derivanti dall’utilizzo di metodi privati ​​in Python superano gli svantaggi.