freeCodeCamp/guide/portuguese/python/functions/index.md

4.5 KiB
Raw Blame History

title localeTitle
Functions Funções

Funções

Uma função permite que você defina um bloco de código reutilizável que pode ser executado muitas vezes em seu programa.

As funções permitem criar soluções mais modulares e DRY para problemas complexos.

Embora o Python já forneça muitas funções internas, como print() e len() , você também pode definir suas próprias funções para usar em seus projetos.

Uma das grandes vantagens de usar funções em seu código é que ele reduz o número geral de linhas de código em seu projeto.

Sintaxe

No Python, uma definição de função possui os seguintes recursos:

  1. A palavra-chave def
  2. um nome de função
  3. parantesia '()' e dentro dos parâmetros de entrada da parantesia, embora os parâmetros de entrada sejam opcionais.
  4. um cólon ':'
  5. algum bloco de código para executar
  6. uma declaração de retorno (opcional)
# a function with no parameters or returned values 
 def sayHello(): 
  print("Hello!") 
 
 sayHello()  # calls the function, 'Hello!' is printed to the console 
 
 # a function with a parameter 
 def helloWithName(name): 
  print("Hello " + name + "!") 
 
 helloWithName("Ada")  # calls the function, 'Hello Ada!' is printed to the console 
 
 # a function with multiple parameters with a return statement 
 def multiply(val1, val2): 
  return val1 * val2 
 
 multiply(3, 5)  # prints 15 to the console 

Funções são blocos de código que podem ser reutilizados simplesmente chamando a função. Isso permite a reutilização de código simples e elegante sem reescrever explicitamente seções de código. Isso torna o código mais legível, facilita a depuração e limita os erros de digitação.

Funções em Python são criadas usando a palavra-chave def , seguida por um nome de função e parâmetros de função dentro de parênteses.

Uma função sempre retorna um valor. A palavra-chave return é usada pela função para retornar um valor, se você não quiser retornar nenhum valor, o valor padrão None será retornado.

O nome da função é usado para chamar a função, passando os parâmetros necessários dentro de parênteses.

# this is a basic sum function 
 def sum(a, b): 
  return a + b 
 
 result = sum(1, 2) 
 # result = 3 

Você pode definir valores padrão para os parâmetros, assim o Python irá interpretar que o valor desse parâmetro é o padrão se nenhum for dado.

def sum(a, b=3): 
  return a + b 
 
 result = sum(1) 
 # result = 4 

Você pode passar os parâmetros na ordem desejada, usando o nome do parâmetro.

result = sum(b=2, a=2) 
 # result = 4 

No entanto, não é possível passar um argumento de palavra-chave antes de um argumento de não-palavra-chave

result = sum(3, b=2) 
 #result = 5 
 result2 = sum(b=2, 3) 
 #Will raise SyntaxError 

As funções também são Objetos, então você pode atribuí-las a uma variável e usar essa variável como uma função.

s = sum 
 result = s(1, 2) 
 # result = 3 

Notas

  • Se uma definição de função incluir parâmetros, você deverá fornecer o mesmo número de parâmetros quando chamar a função.

    print(multiply(3))  # TypeError: multiply() takes exactly 2 arguments (0 given) 
    
     print(multiply('a', 5))  # 'aaaaa' printed to the console 
    
     print(multiply('a', 'b'))  # TypeError: Python can't multiply two strings 
    
    
  • O bloco de código que a função executará inclui todas as instruções recuadas dentro da função.

    def myFunc(): 
     print('this will print') 
     print('so will this') 
    
     x = 7 
     # the assignment of x is not a part of the function since it is not indented 
    
    
  • Variáveis definidas dentro de uma função só existem dentro do escopo dessa função.

    def double(num): 
     x = num * 2 
     return x 
    
     print(x)  # error - x is not defined 
     print(double(4))  # prints 8 
    
    

    -Python interpreta o bloco de função somente quando a função é chamada e não quando a função é definida. Assim, mesmo que o bloco de definição de função contenha algum tipo de erro, o interpretar de python mostrará isso apenas quando a função for chamada.

Mais Informações: