As funções em Python utilizam a palavra chave def seguida do nome da função e os parâmetros entre parêntesis terminado por dois pontos como no exemplo a seguir onde a função soma é definida para retornar a soma de seus dois parâmetros. Observe que o corpo da função é indentado da definição da função:
In [4]:
def soma( x, y):
s = x + y
return s
Para se realizar a chamada da função soma, basta utilizá-la pelo seu nome passando os parâmetros como argumentos da função. Veja o exemplo a seguir
In [5]:
r = soma(50, 20)
print (r)
Existem dois tipos de parâmetros: posicional e com palavra chave. Os posicionais são aqueles que são identificados pela ordem em que aparecem na lista dos parâmetros da função. Já os com palavra chave, são identificados por nome=. Os parâmetros por palavra chave podem também ser posicionais, mas tem a vantagem que se não forem passados, ele assumem o valor mencionado por falta (default). Veja o exemplo abaixo:
In [7]:
def soma( x, y, squared=False):
if squared:
s = (x + y)**2
else:
s = (x + y)
return s
Observe que os parâmetros, x e y são posicionais e serão os 2 primeiros argumentos da chamada da função. O terceiro parâmetro é por palavra chave e portanto opcional, posso usá-lo tanto na forma posicional, como na forma explícita com a palavra chave. A grande vantagem neste esquema é que posso ter um grande número de parâmetros com palavra chave e na hora de usar a função deixar explicitamente só os parâmetros desejados.
Veja os exemplos:
In [10]:
print ('soma(2, 3):', soma(2, 3))
print ('soma(2, 3, False):', soma(2, 3, False))
print ('soma(2, 3, True):', soma(2, 3, True))
print ('soma(2, 3, squared= True):', soma(2, 3, squared= True))
As referências a seguir são da documentação oficial do Python. Neste curso, iremos utilizar muito pouco de sua biblioteca padrão, assim não há necessidade (nem condições) de se estudar estas referências todas. O nosso foco neste curso será no NumPy e aos poucos iremos oferecer estes materiais.