AnyCompiler

Classes e Objetos

Uma classe é um projeto para criar objetos que agrupam dados (atributos) junto com as funções que operam sobre esses dados (métodos). Todo cachorro que você criar a partir de uma classe Dog compartilha a mesma estrutura, mas guarda seus próprios valores.

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

    def bark(self):
        return f"{self.name} says Woof!"

my_dog = Dog("Rex", 3)
print(my_dog.name)
print(my_dog.bark())
Output
Rex
Rex says Woof!
  • __init__ roda automaticamente quando você cria um novo objeto — é onde você configura os dados iniciais do objeto
  • self se refere ao objeto específico sobre o qual o método está sendo chamado — é sempre o primeiro parâmetro de um método
  • self.name = name guarda o valor como um atributo, para que qualquer método deste objeto possa acessá-lo depois
  • Dog("Rex", 3) cria um objeto real (uma "instância") da classe Dog

Você poderia criar quantos cachorros quisesse a partir da mesma classe — Dog("Bella", 5), Dog("Max", 1) — cada um mantendo seu próprio nome e idade de forma independente.

A seguir: módulos — usar a biblioteca padrão do Python em vez de escrever tudo do zero.

Exercício de Prática

Adicione um método honk() à classe Car que retorne f"{self.make} says beep!", e depois imprima o resultado de chamá-lo em um Car("Toyota").