E N D
Definição • As funções são blocos de código com nome e argumentos (algumas funções não possuem argumentos), usadas para realizar tarefas. • Algumas funções já estão presentes no interpretador, como exemplo a usada no cálculo do seno de um ângulo que está presente na biblioteca math.sin de python. def NOME (argumento1, argumento2, ...): bloco de código
Exemplo de Funções... • Se a função retorna algum valor (linguagens de programação chamam funções que não retornam valor de subrotinas), usa-se a instrução "returnvalor". • Exemplo: def soma(x, y): returnx+y soma(2, 5) Funções podem não ter argumento, neste caso a lista de argumentos será vazia: def hello(): print "Hello, World!“ hello()
Alguns Detalhes... • Os argumentos pode vir "nus", ou seguidos de "= valor". No primeiro caso, não passar este argumento para a função dá erro, no segundo caso, o argumento toma, por default, o valor passado. • Um cuidado deve ser tomado: se o valor é variável, ele é determinado no momento da definição da função. Ex: >>> indice = 5 >>> def função (argumento = indice): ... printargumento >>> indice = 6 >>> função() 5 >>> printindice 6
Mais exemplos de funões... # Função simples e sem parâmetros:def ola_mundo(): print("Olá Mundo!")# Agora uma função com um parâmetrodef ola_pessoa(nome):print("Olá " + nome + ", como vai você?")# Agora uma função com dois parâmetrosdef ola_pessoa_blog(nome, blog): print("O blog " + blog + " pertence à " + nome)# Chamando as funçõesola_mundo()meu_nome = “LEW"ola_pessoa(meu_nome)meu_blog = "http://dcomp-ufs.sytes.net/games"ola_pessoa_blog(meu_nome, meu_blog)
Funções anónimas ou lambda • As funções anónimas ou lambda, são funções que como o nome indica, não tem nome, e que podem ser criadas e executadas em qualquer momento da execução do programa, não precisando de ser definidas, e que apenas retornam o valor de uma expressão, sem precisar do return. • lambda param1, param2: expressão
Exemplo de função lambda Exemplo: inc = lambda x: x + 1 print inc(10) 11 • Nota: Qualquer função pode ser atribuída a uma variável, e as funções lambda não são excepção, podendo depois ser executadas com o nome da variável.
Finalizando • Definimos agora a função “find”, que tem como parâmetros, uma lista e uma função, que será executada para cada elemento da lista, e que retorna verdadeiro ou falso. • Para validar se o elemento é o elemento a retornar. • Depois na execução passamos uma lista e uma função lambda, que vai verificar se o item, que será passado como “x”, é igual a 7, ou seja, a função “find”, vai procurar por um elemento que seja igual a 7, retornando esse elemento.
Ultimo exemplo: • Função find def find(lista, func):for item in lista:if func(item): return itemprint find([9, 4, 7, 2, 5], lambda x: x == 7)