4.5 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	title, localeTitle
| 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:
- A palavra-chave def
- o nome da função
- parênteses '()' contendo parâmetros de entrada da função, que são opcionais ao defini-la.
- um sinal de dois pontos ':'
- algum bloco de código para executar
- 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 ao realizar o chamado da função. Isso permite a reutilização de código de forma 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 contidas na 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 interpretador de python mostrará isso apenas quando a função for chamada.