Python/Conceitos básicos/Funções

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

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 "return valor". Exemplo:

  def soma(x, y):
    return x + y

Funções podem não ter argumento, neste caso a lista de argumentos será vazia:

  def hello():
    print "Hello, World!"

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. Por exemplo:

>>> indice = 5
>>> def função (argumento = indice):
...      print argumento
>>> indice = 6
>>> função()
5
>>> print indice
6

Funções sem nome - lambda

editar

A vantagem é que podem ser usadas dentro de expressões

 f = lambda x: x**x

a função acima substitui...

 def f(x):
    return x**x

Funções lambda podem ser divididas em:

   nome variavel: ações

Onde nome sempre será 'lambda', variável pode conter uma ou mais variáveis e ações pode ser uma potência ou referência a uma função matemática tipo

 import math
 f = lambda x,y : pow(x,y)