Classes e o método __init__
Defina classes, crie objetos e inicialize atributos.
Classes e o método __init__ é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.
Definindo uma classe
Use a palavra-chave class para definir uma classe. Por convenção, os nomes de classes usam CapWords.
class Dog:
pass
fido = Dog()
print(type(fido)) # <class '__main__.Dog'>O método __init__
__init__ é chamado automaticamente quando um objeto é criado. Use-o para configurar os atributos da instância.
class Dog:
def __init__(self, name, breed):
self.name = name
self.breed = breed
fido = Dog("Fido", "Labrador")
print(fido.name) # FidoExplicação sobre self
self faz referência à instância atual. Ele deve ser o primeiro parâmetro de todo método de instância. Python o passa automaticamente.
class Counter:
def __init__(self):
self.count = 0
def increment(self):
self.count += 1
c = Counter()
c.increment()
print(c.count) # 1Várias instâncias
Cada instância tem sua própria cópia dos atributos de instância definidos em __init__.
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
p1 = Point(1, 2)
p2 = Point(5, 7)
print(p1.x, p2.x) # 1 5Valores padrão de parâmetros em __init__
Forneça valores padrão aos parâmetros de __init__ para tornar alguns argumentos opcionais.
class Circle:
def __init__(self, radius=1.0):
self.radius = radius
c1 = Circle()
c2 = Circle(5)
print(c1.radius, c2.radius) # 1.0 5Métodos de instância
Métodos definidos dentro de uma classe operam sobre a instância por meio de self.
class Rectangle:
def __init__(self, w, h):
self.w = w
self.h = h
def area(self):
return self.w * self.h
r = Rectangle(4, 5)
print(r.area()) # 20Adicionando atributos após a criação
Você pode adicionar atributos a uma instância após sua criação, mas é mais organizado declarar todos eles em __init__.
class Person:
def __init__(self, name):
self.name = name
p = Person("Alice")
p.age = 30 # added after creation
print(p.name, p.age)O valor de retorno de __init__
__init__ deve retornar None. Retornar qualquer outra coisa gera um TypeError.
class Broken:
def __init__(self):
return 42 # TypeError!
# Correct
class OK:
def __init__(self):
self.value = 42
# implicit return NoneVerificando o tipo da instância
Use isinstance() para verificar se um objeto é uma instância de uma classe.
class Animal:
pass
class Dog(Animal):
pass
d = Dog()
print(isinstance(d, Dog)) # True
print(isinstance(d, Animal)) # TrueAtributo __dict__
Toda instância armazena seus atributos em um dicionário __dict__.
class Book:
def __init__(self, title, pages):
self.title = title
self.pages = pages
b = Book("Python 101", 300)
print(b.__dict__) # {'title': 'Python 101', 'pages': 300}Excluindo atributos
Use del para remover um atributo de uma instância durante a execução.
class Config:
def __init__(self):
self.debug = True
self.version = "1.0"
cfg = Config()
del cfg.debug
print(hasattr(cfg, "debug")) # FalseVerificação rápida
Qual é a finalidade de self nos métodos de classe em Python?
Recapitulação
Classes são modelos para objetos. __init__ inicializa os atributos da instância, self faz referência ao objeto atual e cada instância mantém seu próprio dicionário de atributos.
Perguntas Frequentes
A aula “Classes e o método __init__” é grátis?
Sim — o texto completo de “Classes e o método __init__” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.
O que vou aprender em “Classes e o método __init__”?
Defina classes, crie objetos e inicialize atributos. Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Python Academy?
Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Classes e o método __init__”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Python Academy?
Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Classes e o método __init__
- Atributos de instância e de classe
- Métodos de instância e self
- Métodos mágicos: __str__ e __repr__