0Pricing
Python Academy · Aula

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)   # Fido

Explicaçã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)  # 1

Vá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 5

Valores 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 5

Mé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())  # 20

Adicionando 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 None

Verificando 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))  # True

Atributo __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"))  # False

Verificaçã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

  1. Classes e o método __init__
  2. Atributos de instância e de classe
  3. Métodos de instância e self
  4. Métodos mágicos: __str__ e __repr__
← Voltar para Python Academy