Use geradores em loops ou com next():
for numero in gerador_numeros(): print(numero) # 0, 1, 2, 3, 4
Geradores são ideais para processar grandes volumes de dados.
Use geradores em loops ou com next():
for numero in gerador_numeros(): print(numero) # 0, 1, 2, 3, 4
Geradores são ideais para processar grandes volumes de dados.
Use strftime para formatar datas:
data_formatada = agora.strftime("%d/%m/%Y %H:%M:%S") print(data_formatada) # Exemplo: 05/10/2023 14:30:00
Geradores são funções que produzem valores sob demanda, usando yield:
def gerador_numeros(): for i in range(5): yield i
Eles são eficientes em memória, pois não armazenam todos os valores de uma vez.
Use o módulo datetime para trabalhar com datas e horas:
from datetime import datetime agora = datetime.now() print(agora) # Exemplo: 2023-10-05 14:30:00
Polimorfismo permite que objetos de diferentes classes sejam tratados de forma uniforme:
def emitir_som(animal): animal.fazer_som() cachorro = Cachorro() emitir_som(cachorro) # Saída: Au au!
Herança permite criar uma nova classe com base em uma existente:
class Animal: def fazer_som(self): print("Som genérico") class Cachorro(Animal): def fazer_som(self): print("Au au!")
A classe Cachorro herda de Animal e sobrescreve o método fazer_som.
Atributos de classe são compartilhados por todas as instâncias, enquanto atributos de instância são únicos para cada objeto:
class Carro: rodas = 4 # Atributo de classe def __init__(self, marca): self.marca = marca # Atributo de instância
Métodos são funções definidas dentro de uma classe:
class Carro: def __init__(self, marca, modelo): self.marca = marca self.modelo = modelo def descrever(self): print(f"{self.marca} {self.modelo}")
Chame métodos usando objetos:
meu_carro = Carro("Ford", "Mustang") meu_carro.descrever() # Saída: Ford Mustang
Descrição: Concluímos o projeto e discutimos como você pode continuar aprendendo e expandindo o quiz. Conteúdo: Reforçamos a importância d...