Menu
Coddy logo textTech

Método Construtor (__init__)

Parte da seção Programação Orientada a Objetos do Journey de Python da Coddy. Lição 7 de 64.

O método __init__ é um método especial que é executado automaticamente quando você cria um novo objeto. Ele inicializa os atributos do objeto.

Aqui está um exemplo de uma classe com um construtor:

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

O método __init__ recebe parâmetros e os atribui a atributos da instância usando self.

Crie objetos usando o construtor:

rex = Dog("Rex", "German Shepherd")
buddy = Dog("Buddy", "Golden Retriever")

Quando você chama Dog("Rex", "German Shepherd"), o Python chama automaticamente __init__ e passa os argumentos.

Acesse os atributos que foram definidos pelo construtor:

print(rex.name)
print(rex.breed)
print(buddy.name)
print(buddy.breed)

Saída:

Rex
German Shepherd
Buddy
Golden Retriever

Você também pode ter um construtor com valores padrão:

class Cat:
    def __init__(self, name, age=1):
        self.name = name
        self.age = age

# Criar gatos
fluffy = Cat("Fluffy", 3)
whiskers = Cat("Whiskers")  # age tem valor padrão 1

print(f"{fluffy.name} is {fluffy.age} years old")
print(f"{whiskers.name} is {whiskers.age} years old")

Saída:

Fluffy is 3 years old
Whiskers is 1 years old

Ponto-chave: o método __init__ garante que cada objeto seja configurado corretamente com seus dados iniciais ao ser criado. Ele evita que você precise definir manualmente os atributos após a criação do objeto.

challenge icon

Desafio

Fácil

Você recebeu os arquivos Python (book.py e driver.py) para implementar um sistema de gerenciamento de livros. Neste desafio, você definirá uma classe Book em um arquivo, que será importada e utilizada em outro.

Sua tarefa é:

  • Concluir a classe Book em book.py com um método __init__ que inicialize os atributos title, author e pages
  • O arquivo driver.py importará e usará sua classe Book para criar um objeto de livro para "Harry Potter" by "J.K. Rowling" with 400 pages

Siga os comentários detalhados de TODO em book.py.

REQUIRED OUTPUT FORMAT: [Seu conteúdo traduzido aqui]

Experimente você mesmo

# TODO: Importe a classe Book de book.py
# Use este formato: from book import Book

# TODO: Crie um objeto book chamado 'my_book' com os seguintes valores:
# - title: "Harry Potter"
# - author: "J.K. Rowling"
# - pages: 400
# Exemplo: my_book = Book("Title", "Author", pages)

# Imprima os detalhes do livro
# TODO: Certifique-se de que my_book está devidamente definido antes desta linha ser executada
print(f"'{my_book.title}' by {my_book.author}, {my_book.pages} pages")
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação Orientada a Objetos

Pratique por conta própria: Compilador de Python online