Funções do Python

A função é um bloco de código que é executado apenas ao ser chamado.

Você pode passar dados (chamados de parâmetros) para a função.

A função pode retornar dados como resultado.

para criar função

No Python, usamos def Palavra-chave para definir função:

Exemplo

def minha_função():
  print("Hello from a function")

Chamada de função

Para chamar a função, use o nome da função seguido de parênteses:

Exemplo

def minha_função():
  print("Hello from a function")
my_function()

Executar Exemplo

Parâmetros

Informações podem ser passadas para a função como parâmetros.

Os parâmetros são especificados dentro dos parênteses após o nome da função. Você pode adicionar quantos parâmetros quiser, separados por vírgulas.

O exemplo a seguir tem uma função com parâmetro (nome). Quando chamamos essa função, passamos um nome e usamos-o dentro da função para imprimir o nome completo:

Exemplo

def minha_função(nome):
  print(nome + " Gates")
minha_função("Bill")
minha_função("Steve")
minha_função("Elon")

Executar Exemplo

Valores padrão de parâmetro

O exemplo a seguir mostra como usar valores padrão de parâmetros.

Se chamamos a função sem parâmetros, usamos o valor padrão:

Exemplo

def minha_função(pais = "China"):
  print("Eu sou de " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Executar Exemplo

Passar List como parâmetro

Os parâmetros que você enviar para a função podem ser de qualquer tipo de dados (strings, números, listas, dicionários, etc.) e serão tratados como o mesmo tipo de dados dentro da função.

Por exemplo, se você enviar uma Lista como parâmetro, ela continuará a ser uma Lista (lista) quando到达函数:

Exemplo

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Executar Exemplo

Valor de retorno

Para que a função retorne um valor, use return Instrução:

Exemplo

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Executar Exemplo

Parâmetros nomeados

Você também pode usar a sintaxe key = value para enviar parâmetros.

A ordem dos parâmetros não importa.

Exemplo

def my_function(child3, child2, child1):
  print("O menor filho é " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

Executar Exemplo

No documento do Python, a palavra "parâmetros nomeados" geralmente é abreviada para kwargs.

Parâmetros arbitrários

Se você não souber quantos parâmetros serão passados para sua função, adicione * antes do nome do parâmetro na definição da função.

Dessa forma, a função receberá um tupla de parâmetros e poderá acessar os itens conforme necessário:

Exemplo

Se o número de parâmetros for desconhecido, adicione * antes do nome do parâmetro:

def my_function(*kids):
  print("O menor filho é " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

Executar Exemplo

instrução pass

A definição da função não pode estar vazia, mas se você escrever uma definição de função sem conteúdo por algum motivo, use a instrução pass para evitar erros.

Exemplo

def myfunction:
  pass

Executar Exemplo

Recursão

O Python também aceita recursão de função, o que significa que a função definida pode chamar a si mesma.

A recursão é um conceito comum em matemática e programação. Isso significa que a função chama a si mesma. A vantagem disso é que é possível acessar os dados em循环 para alcançar o resultado.

Os desenvolvedores devem ser muito cuidadosos com a recursão, pois é fácil escrever uma função que nunca termina ou que usa uma quantidade excessiva de memória ou capacidade do processador. No entanto, quando corretamente escrita, a recursão pode ser um método de programação muito eficaz e matemáticamente elegante.

Neste exemplo,tri_recursion() É definido como uma função que chama a si mesma ("recurse"). Usamos a variável k como dados e decrementamos (-1) em cada chamada recursiva. Quando a condição não é maior que 0 (por exemplo, quando é 0), a recursão termina.

Para desenvolvedores novos, pode levar algum tempo para entender como funciona, o melhor método é testar e modificá-lo.

Exemplo

Exemplo de Recursão:

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nExemplo de Resultados de Recursão")
tri_recursion(6)

Executar Exemplo