logo

Método privado Python

Introdução

Em Python, um método privado é um método que não se destina a ser usado fora da classe na qual está definido. Esses métodos são indicados por um prefixo de sublinhado duplo (__) antes de seu nome e só podem ser acessados ​​​​dentro da classe onde estão definidos. Neste artigo, discutiremos o conceito de métodos privados em Python, suas vantagens e desvantagens e como usá-los com exemplos.

O que é um método privado em Python?

Um método privado é um método que não se destina a ser usado fora da classe na qual está definido. Esses métodos são usados ​​para implementar funcionalidades internas dentro da classe. Eles não devem ser usados ​​por código externo. Em Python, os métodos privados são indicados por um prefixo de sublinhado duplo antes de seu nome.

Exemplo

 __method_name 

Como definir um método privado em Python?

Quando o programador deseja definir um método privado em Python, ele precisa adicionar um prefixo de sublinhado duplo antes do nome do método. Aqui está um exemplo:

Programa 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() 

Saída:

Método privado Python

Explicação:

No exemplo acima, definimos uma classe chamada MyClass. Possui um método privado chamado __private_method. Este método é chamado a partir do construtor da classe (__init__) usando self.__private_method(). Como o método possui um prefixo de sublinhado duplo, ele é privado e não pode ser acessado fora da classe.

Programa 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() 

Saída:

Método privado Python

Explicação:

O código fornecido define uma classe BankAccount com métodos para depositar e sacar fundos, exibir o saldo da conta e imprimir um extrato da conta. Uma instância desta classe é então criada e algumas transações são feitas nela, seguidas da impressão de um extrato.

Vantagens dos métodos privados em Python

    Encapsulamento:Os métodos privados ajudam a alcançar o encapsulamento. É um princípio fundamental da programação orientada a objetos. Ao tornar certos métodos privados, o programador pode controlar como a funcionalidade interna da classe é acessada a partir do código externo. Isso torna a classe mais segura e ajuda a prevenir alterações indesejadas no comportamento da classe.Reutilização de código:Métodos privados podem ser usados ​​para implementar funcionalidades internas que podem ser reutilizadas dentro da classe. Isso pode ajudar a reduzir a duplicação de código e melhorar a capacidade de manutenção do código.Depuração fácil:Os métodos privados só são acessíveis dentro da classe, facilitando a depuração do código ao isolar o comportamento da classe.

Desvantagens dos métodos privados em Python

    Acesso limitado:Os métodos privados só são acessíveis dentro da classe em que estão definidos. Isso significa que se o programador precisar acessar a funcionalidade de um método privado de fora da classe, ele precisará criar um método público que chame o método privado. Isso pode adicionar complexidade adicional ao código.Falsa sensação de segurança:Os métodos privados do Python não são verdadeiramente privados. Ainda é possível acessá-los fora da classe usando a sintaxe _classname__methodname(). No entanto, isso é considerado uma má prática e deve ser evitado.Maior complexidade:O uso de métodos privados pode aumentar a complexidade do código, dificultando sua compreensão e manutenção. Isto pode ser especialmente verdadeiro se os métodos privados estiverem mal documentados.

Conclusão

Os métodos privados em Python são um recurso útil que pode ajudar a obter o encapsulamento e melhorar a capacidade de manutenção do código. Embora tenham algumas desvantagens, os benefícios de usar métodos privados em Python superam as desvantagens.