Como criar uma classe em Python (programação orientada a objetos)
Aprenda como criar uma classe em Python. Domine o construtor __init__, métodos de instância, palavra-chave self e instanciação de objetos.
Visão geral
A Programação Orientada a Objetos (OOP) é um paradigma poderoso usado para modelar entidades do mundo real, estruturar aplicativos e promover a reutilização de código. Em Python, tudo é um objeto, e as classes são os projetos a partir dos quais os objetos individuais são criados. A criação de uma classe permite agrupar atributos de dados e funções.
Para definir uma classe, você usa a palavra-chave `class` seguida do nome da classe (convencionalmente escrito em PascalCase). Dentro da classe, o método mais importante é o construtor: `__init__(self, ...)`. Este método mágico especial é executado automaticamente quando você instancia a classe, inicializando os atributos de dados iniciais do objeto.
O parâmetro `self` representa a instância específica da classe que você está criando ou modificando atualmente. Cada método de instância dentro da classe deve aceitar `self` como seu primeiro argumento. Os métodos de instância são funções definidas dentro da classe que operam nos atributos do objeto, permitindo o encapsulamento limpo da lógica.
Saída de código e execução
Este script demonstra a criação de uma classe, a definição de propriedades, métodos de instância de classe e a criação de objetos.
# 1. Defining a class
class User:
def __init__(self, username, email):
self.username = username
self.email = email
self.active = True # Default attribute
def get_info(self):
status = "Active" if self.active else "Inactive"
return f"User: {self.username} | Email: {self.email} | Status: {status}"
# 2. Instantiating objects of the class
user1 = User("codeguy", "guy@example.com")
user2 = User("pygirl", "girl@example.com")
# 3. Accessing attributes and invoking methods
print(user1.get_info())
print(user2.username, "has email", user2.email)User: codeguy | Email: guy@example.com | Status: Active
pygirl has email girl@example.comImplementação passo a passo
- Use a palavra-chave class para declarar o modelo de classe.
- Defina o construtor __init__(self, ...) para configurar os atributos iniciais.
- Adicione métodos de instância que aceitem self como o primeiro parâmetro para trabalhar com o estado do objeto.
- Chame ClassName(...) para instanciar e criar uma nova instância de objeto.
Perguntas frequentes
O que o parâmetro self representa?
Refere-se à instância específica do objeto que está sendo criado ou manipulado. É necessário vincular atributos à instância.
Uma classe pode ter atributos compartilhados entre todas as instâncias?
Sim, esses são atributos de classe. Defina-os diretamente no cabeçalho da classe (fora de __init__) e acesse-os usando ClassName.attribute.
Tópicos Relacionados
Aprenda como lidar com exceções em Python usando blocos try, exceto, else e finalmente. Escreva código Python livre de erros e resistente a falhas.
Como usar a compreensão de lista em PythonAprenda como usar compreensões de lista em Python. Escreva loops concisos, aplique filtros condicionais e crie matrizes com sintaxe visual limpa.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Variáveis e tipos de dados Python explicados
Entenda as variáveis do Python e os principais tipos de dados (strings, inteiros, flutuantes, booleanos). Um guia completo para iniciantes sobre atribuição de memória em Python.
Folha de referências dos métodos do dicionário Python
Aprenda métodos de dicionário Python. Guia de referência completo para inserções, recuperações, atualizações e verificações de pares de valores-chave.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.