Olá! Meu nome é Melyssa e este é meu primeiro artigo por aqui! Irei iniciar falando sobre Python Orientado a Objetos. Para ler o conteúdo abaixo é necessário já saber o básico dessa linguagem. Aceito sugestões e críticas construtivas, no futuro irei escrever sobre Python para quem irá ter o primeiro contato com a linguagem ❤️
Python Orientado a Objetos
Para trabalhar com Objetos em Python, primeiro precisamos criar uma classe que é onde vamos armazenar o bloco de código do nosso Objeto. Para criar uma classe é necessário usarmos o termo class e em seguida nomear nossa classe - seguindo o padrão CamelCase - seguido de dois pontos e depois a palavra pass que funciona como um return. Confira o código de exemplo abaixo:
class CodigoTeste:
pass
Depois que a classe é feita, precisamos enfim criar o objeto para ela e para isso criamos uma variável que vai armazenar a class feita. Exemplo: teste = CodigoTeste() e assim temos nosso primeiro Objeto.
Podemos criar funções dentro da nossa class para armazenar e organizar melhor nossas informações, assim com funções já existentes no Python - que são chamados de métodos construtores, como por exemplo: init(self) que é uma função normalmente utilizada para o começo dos códigos. O parâmetro self é onde vai ficar a referência do nosso Objeto.
class CodigoTeste:
def __init__(self, nome, idade, estado):
self.nome = nome
self.idade = idade
self.estado = estado
Após feito isso apenas precisamos passar as informações dentro de nossa variável no terminal, como por exemplo: teste = CodigoTeste(’Melyssa’, 19, ‘São Paulo’) e pronto, criamos mais um Objeto!
Para acessar as informações que foram passadas dentro dos Objeto é extremamente simples, precisamos apenas chamar a variável que desejamos acessar e utilizar o ponto (.) junto do parâmetro que queremos acessar. Por exemplo: teste.nome vai retornar ‘Melyssa’.
Método privado
Caso tenhamos algum método dentro da nossa class que gostaríamos de informar e tornar privado, precisamos usar __ antes de seu nome. Assim o Dev que ver nosso código vai entender que aquele método é privado e que deve não deve ser utilizado diretamente e sim por outro método. O ideal no caso de querer modificar ou acessar uma informação privada, é criando um método get (no caso de pegar a informação) e set (no caso de modificar a informação), como por exemplo:
class CodigoTeste:
def __init__(self, nome, idade, estado):
self.__nome = nome
self.__idade = idade
self.__estado = estado
def get_nome(self):
return self.__nome
def set_idade(self, idade):
self.__idade = idade
teste = CodigoTeste('Melyssa', 19, 'SP')
teste.get_nome()
'Melyssa'
teste.set_idade(20)
Propriedades
Também podemos usar propriedades para fazer com que “métodos” se transformem em um Objeto. Utilizamos essas propriedades em classes privadas, acessando-a e modificando algo. Como por exemplo, podemos criar uma propriedade que sempre deixe a primeira letra do nome de uma pessoa em caixa alta, evitando erros de sintaxe, para isso usamos o @property logo acima. Exemplo:
class Nome:
def __init__(self):
self.__nome = nome
@property
def nome(self):
return self.__nome.title()
teste = Nome('melyssa')
teste.nome
'Melyssa'
Lembrando que o nome da nossa propriedade precisa ser o mesmo nome do Objeto que desejamos alterar.
Caso queira mudar o valor do nome, também podemos utilizar uma propriedade setter, onde utilizamos a seguinte sintaxe: @(nome do atributo).setter. Assim podemos modificar os valores do nosso método desejado. Veja o código de exemplo abaixo:
@nome.setter
def nome(self, nome):
self.__nome = nome
teste = Nome('Melyssa')
teste.nome = 'daniel'
teste.nome
'Daniel'
Métodos da Class (static methods)
Caso queiremos programar um método onde todos os Objetos compartilham a mesma informação em comum, podemos usar os métodos estáticos. Por exemplo, uma conta do Banco do Brasil sempre vai ter o código da conta como ‘001’, então podemos criar um objeto estático para ele. Para isso utilizamos o @staticmethod logo acima da nossa função desejada. Veja o código abaixo:
@staticmethod
def codigo__BB():
return '001'
Como você pode notar, esse método não possui o parâmetro self, que é o responsável por armazenar a referência do Objeto.
Aqui acaba a primeira parte de Python Orientado a Objetos e logo publicarei a parte 2. Espero que tenham gostado, obrigada por terem lido até aqui! =)
Top comments (1)
Como um primeiro artigo já fez tudo certinho! É isso aí, parabéns. Aguardamos os próximos. Abraço.