Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Dominando Funções em Python: Definição, Chamada, Indentação, Argumentos e Valores de Retorno

Dominando Funções em Python: Definição, Chamada, Indentação, Argumentos e Valores de Retorno

Funções são os blocos de construção de qualquer aplicação Python. Elas encapsulam lógica reutilizável, mantêm o código DRY (Don't Repeat Yourself) e tornam seus programas mais fáceis de ler, testar e manter. Neste guia, percorreremos cada passo necessário para escrever, chamar e solucionar problemas em funções no Python 3 — abordando também as diferenças que você encontrará no Python 2.

O que é uma Função em Python?

Uma função Python é um bloco de código autocontido que é executado quando invocado. Você pode pensá-la como um mini-programa que realiza uma única tarefa bem definida e pode ser reutilizada onde for necessário. Embora o Python venha com diversas funções nativas (ex.: print(), input()), você pode criar as suas próprias, dando ao seu código o poder de evoluir e escalar.

Definindo e Chamando uma Função

Funções são declaradas com a palavra-chave def, seguida pelo nome da função e uma lista de parâmetros entre parênteses. O corpo da função começa com dois-pontos e deve ser indentado.

def saudacao():
    print("Olá, Python!")

# Chama a função
saudacao()

Saída: Olá, Python!

Por que a Indentação Importa

O Python não usa chaves ou declarações explícitas begin/end. Em vez disso, a indentação define o escopo. Todo bloco de código — funções, loops, condicionais — deve compartilhar um nível de indentação consistente.

  1. Pelo menos um nível de indentação (tipicamente quatro espaços) é obrigatório após a definição da função.
  2. Todas as instruções dentro da função devem usar a mesma indentação.
  3. Misturar tabs e espaços, ou variar a profundidade da indentação, dispara um IndentationError.

Exemplo de indentação correta:

def demo():
    print("Linha 1")
    print("Linha 2")

E um erro comum:

def demo():
print("Ops")

Que gera: IndentationError: expected an indented block

Usando Instruções Return

A palavra-chave return envia um valor de volta para quem chamou a função. Se uma função chega ao fim sem encontrar um return, ela retorna implicitamente None.

def quadrado(x):
    return x * x

print(quadrado(4))  # 16

Sem return:

def quadrado(x):
    x * x

print(quadrado(4))  # None

Além disso, imprimir o objeto da função em si (ex.: print(quadrado)) exibe seu endereço de memória, o que raramente é útil no código de aplicação.

Passando Argumentos para Funções

Argumentos fornecem os dados que a função precisa para operar. Parâmetros são os placeholders definidos na assinatura da função.

def multiplicar(x, y=1):
    return x * y

print(multiplicar(4))       # 4 (y assume o padrão 1)
print(multiplicar(4, 2))    # 8
print(multiplicar(y=3, x=2)) # 6 (argumentos nomeados permitem reordenar)

Argumentos de Comprimento Variável (*args e **kwargs)

Às vezes você precisa de uma função que aceite um número arbitrário de argumentos. Use *args para argumentos posicionais e **kwargs para argumentos nomeados.

def resumir(*valores, **opcoes):
    total = sum(valores)
    print(f"Total: {total}")
    if opcoes.get("mostrar_detalhes"):
        print("Valores:", valores)

resumir(1, 2, 3, 4, 5, mostrar_detalhes=True)

Python 2 vs Python 3: Diferenças Principais

Boas Práticas para Design de Funções

Exemplo Completo

# Exemplo de script Python 3 abrangente
def saudacao():
    """Imprime uma saudação amigável."""
    print("Olá, Python!")

def quadrado(x: int) -> int:
    """Retorna o quadrado de x."""
    return x * x

def multiplicar(x: int, y: int = 1) -> int:
    """Retorna o produto de x e y, com y default 1."""
    return x * y

# Demonstração
if __name__ == "__main__":
    saudacao()
    print(quadrado(4))        # 16
    print(multiplicar(4))     # 4
    print(multiplicar(4, 2))  # 8
    print(multiplicar(y=2, x=4)) # 8

Para orientações mais detalhadas, consulte a documentação oficial do Python sobre definições de funções.

python

  1. Declarações, Indentação e Comentários em Python: Guia Claro
  2. Dominando Argumentos de Funções em Python: Parâmetros Posicionais, Nomeados e Padrão
  3. Funções Lambda em Python: Guia Prático para Funções Anônimas
  4. Generators em Python: Iteração Eficiente e Casos de Uso Avançados
  5. Closures em Python Explicados: Como Funções Aninhadas Capturam Variáveis
  6. Dominando Decorators em Python: Aprimore Funções com Técnicas de Especialista
  7. Funções em C++ Explicadas com Exemplos Práticos de Código
  8. Dominando Funções Lambda em Python: Exemplos Práticos e Boas Práticas
  9. Função abs() em Python: Calcular Valores Absolutos para Números e Complexos
  10. Função round() em Python Explicada com Exemplos Práticos