Classes e Objetos em Python

Python é uma linguagem de programação orientada a objetos. As Classes e Objetos em Python são os blocos de construção essenciais da linguagem de programação Python.

Classe em Python

Neste momento, todos vocês deveriam já ter aprendido sobre Tipos de Dados em Python. Se você se lembra, os tipos de dados básicos em Python se referem a apenas um tipo de dado de cada vez. E se você pudesse declarar um tipo de dado que contém mais de um tipo de dado e pode trabalhar com eles com a ajuda de qualquer função? A classe em Python oferece essa oportunidade. A classe em Python é o projeto no qual instâncias da classe são criadas.

Declaração Simples de Classe em Python

Aqui está a estrutura básica da definição de classe em Python.

class ClassName:  
    # lista de variáveis de classe em Python  
    # construtor da classe em Python  
    # definições de métodos da classe em Python

Agora, vamos trabalhar com exemplos reais.

#definição da classe começa aqui  
class Person:  
    #inicializando as variáveis  
    name = ""  
    age = 0  
      
    #definindo o construtor  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge  
  
    #definindo métodos da classe  
    def showName(self):  
        print(self.name)  
  
    def showAge(self):  
        print(self.age)  
          
    #fim da definição da classe  
  
# Criar um objeto da classe  
person1 = Person("John", 23)  
#Criar outro objeto da mesma classe  
person2 = Person("Anne", 102)  
#chamar métodos membros dos objetos  
person1.showAge()  
person2.showName() 

Este exemplo é bastante autoexplicativo. Como sabemos, as linhas que começam com “#” são comentários em Python. Os comentários explicam as próximas etapas executáveis. Este código produz a seguinte saída.

Definição de Classe Python

class Person: 

Esta linha marca o início da definição da classe para a classe ‘Person’.

Variáveis de Classe Python

    #inicializando as variáveis  
    name = ""  
    age = 0

‘nome’ e ‘idade’ são duas variáveis de membro da classe ‘Person’. Sempre que declararmos um objeto desta classe, ele conterá essas duas variáveis como membro. Esta parte é opcional, pois elas podem ser inicializadas pelo construtor.

Construtor da Classe Python

    #definindo o construtor  
    def __init__(self, personName, personAge):  
        self.name = personName  
        self.age = personAge

O construtor da classe Python é o primeiro trecho de código a ser executado ao criar um novo objeto de uma classe. Primariamente, o construtor pode ser utilizado para atribuir valores às variáveis de membro. Você também pode imprimir mensagens no construtor para confirmar se o objeto foi criado. Vamos aprender um papel mais significativo do construtor quando entendermos sobre a herança em Python. O método do construtor começa com def __init__. Em seguida, o primeiro parâmetro deve ser ‘self’, pois ele passa uma referência à instância da própria classe. Você também pode adicionar parâmetros adicionais da maneira mostrada no exemplo. ‘personName’ e ‘personAge’ são dois parâmetros a serem enviados quando um novo objeto deve ser criado.

Métodos da Classe Python

#definindo métodos da classe Python  
    def showName(self):  
        print(self.name)  

Os métodos são declarados da seguinte maneira:

def method_name(self, parameter 1, parameter 2, …….)
    statements……..
    return value (if required)

No exemplo mencionado anteriormente, vimos que o método showName() imprime o valor do ‘nome’ desse objeto. Vamos discutir muito mais sobre os métodos em Python algum outro dia.

Objeto da Classe Python

# Criar um objeto da classe  
person1 = Person("Richard", 23)  
# Criar outro objeto da mesma classe  
person2 = Person("Anne", 30)  

# Chamar os métodos membros dos objetos  
person1.showAge()
person2.showName()

A maneira como objetos são criados em Python é bastante simples. Primeiramente, você coloca o nome do novo objeto, seguido pelo operador de atribuição e o nome da classe com parâmetros (conforme definido no construtor). Lembre-se, o número e o tipo de parâmetros devem ser compatíveis com os parâmetros recebidos na função do construtor. Quando o objeto é criado, os métodos membros podem ser chamados e os atributos membros podem ser acessados (desde que sejam acessíveis).

# Imprimir o nome da pessoa1 acessando diretamente o atributo 'name'
print(person1.name)

Isso é tudo para o básico da classe Python. Conforme avançarmos para aprender sobre recursos orientados a objetos em Python, como herança, polimorfismo nos tutoriais subsequentes, aprenderemos mais sobre a classe Python e seus recursos. Até lá, feliz codificação e adeus! Sinta-se à vontade para comentar se tiver alguma dúvida. Referência: Documentação Python.org

Source:
https://www.digitalocean.com/community/tutorials/python-classes-objects