Métodos
Parte da seção Object Oriented Programming do Journey de Python da Coddy — lição 5 de 64.
Métodos são funções que pertencem a uma classe. Eles definem os comportamentos ou ações que os objetos podem realizar.
Aqui está um exemplo de uma classe com métodos:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultCrie um objeto calculadora:
my_calc = Calculator()Chame um método que não precisa de parâmetros:
my_calc.greet()Chame métodos com parâmetros:
sum_result = my_calc.add(5, 3)
print(sum_result)Chame um método que imprime e retorna um valor:
product = my_calc.multiply(4, 7)Saída:
Hello! I'm a calculator.
8
4 × 7 = 28Métodos podem:
- Receber parâmetros como
add(self, a, b) - Retornar valores como
return a + b - Imprimir a saída diretamente como
print("Hello!") - Fazer tanto a impressão quanto o retorno
Ponto Chave: Métodos definem o que seus objetos podem fazer. Sempre inclua self como o primeiro parâmetro, mas não o passe ao chamar o método.
Desafio
FácilNeste desafio, você implementará um sistema bancário. Você criará uma classe BankAccount em um arquivo e a utilizará em outro arquivo, demonstrando como organizar seu código para melhor manutenibilidade.
Você precisa trabalhar com dois arquivos:
- bank_account.py: Onde você definirá sua classe
BankAccount - driver.py: Onde você importará a classe, criará uma conta e realizará transações
Crie uma classe BankAccount em bank_account.py com:
- Um atributo de classe
bank_namedefinido como "Python National Bank" - Um método
depositque recebe um valor e o adiciona ao saldo da conta - Um método
withdrawque recebe um valor e o subtrai do saldo - Um método
get_balanceque retorna o saldo atual
Então, em driver.py, importe sua classe BankAccount, crie uma conta, deposite $100, retire $30 e imprima o saldo com o formato: f"Current balance: ${my_account.get_balance()}"
Folha de consulta
Métodos são funções que pertencem a uma classe e definem o que os objetos podem fazer.
Defina métodos em uma classe:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultCrie um objeto e chame métodos:
my_calc = Calculator()
my_calc.greet()
sum_result = my_calc.add(5, 3)
product = my_calc.multiply(4, 7)Métodos podem:
- Receber parâmetros:
add(self, a, b) - Retornar valores:
return a + b - Imprimir saída:
print("Hello!") - Fazer ambos: imprimir e retornar
Ponto Chave: Sempre inclua self como o primeiro parâmetro nas definições de método, mas não o passe ao chamar o método.
Experimente você mesmo
from bank_account import BankAccount
# Crie uma conta e teste seus métodos
my_account = BankAccount()
my_account.balance = 0 # Saldo inicial
# TODO: Realize transações
# (Seu código aqui)
# TODO: Imprima o saldo final
# (Seu código aqui)Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Object Oriented Programming
1Fundamentos de POO
Arquivos ExternosIntrodução à POOClasses vs ObjetosO Parâmetro selfMétodosAtributosMétodo Construtor (__init__)Recapitulação - Calculadora Simples4Herança
Herança BásicaA Função super()Sobrescrita de MétodoHerança MúltiplaOrdem de Resolução de MétodosRecapitulação - Hierarquia de Funcionários7Métodos Especiais
Introdução aos Métodos MágicosSobrecarga de OperadoresMétodos Mágicos de ContêinerRecapitulação - Lista Personalizada10Padrões de Projeto Parte 1
Introdução a Padrões de ProjetoPadrão SingletonPadrão FactoryPadrão ObserverPadrão Strategy2Decoradores
Introdução aos DecoradoresDecorador de PropriedadeDecorador de Método EstáticoDecorador de Método de Classe5Polimorfismo
Sobrescrita de Método RevisitadaDuck TypingClasses e Métodos AbstratosDesign de InterfacesRecapitulação - Calculadora de Formas8Conceitos Avançados de POO
Composição vs HerançaMixinsMétodos Estáticos e de ClasseDecoradores de ClasseGerenciadores de Contexto11Padrões de Projeto Parte 2
Padrão CommandPadrão AdapterPadrão DecoratorPadrão Template MethodPadrão StatePadrão Composite3Propriedades de Classe
Variáveis de Instância vs de ClasseDecoradores de PropriedadeAtributos PrivadosRecapitulação - Gerenciador de Conta Bancária6Encapsulamento
Membros Públicos, Protegidos e PrivadosModificadores de AcessoOcultação de InformaçãoProperty Decorators AvançadosRecapitulação - Sistema de Registro de Alunos12Projeto: Gerenciamento de Biblioteca
Visão Geral do ProjetoClasses Livro e Usuário