terça-feira, 7 de março de 2017

Introdução a Programação parte 5: Funções

Funções são como programas dentro de programas, são blocos de códigos que podem ser executados pelo seu programa.
São muito úteis para reutilizar e para deixar seu código mais legível.

Por exemplo o comando print que vem sendo utilizado nos últimos posts, dentro dele existem as instruções necessárias para escrever um texto na tela. Quem utiliza o print não precisa se preocupar em como será escrito, só interessa saber que será escrito o que queremos na tela. Também não precisamos escrever diversos comandos para escrever cada pixel de cada letra do texto, apenas chamamos o comando print e o "programa" dentro do print cuida do resto.

A ideia agora é criarmos nossos próprios "comandos" ( funções) para podermos reutilizá-los e tornar nosso código mais expressivo.
Já li em alguns livros que a maior parte do tempo gasto em programação é gasto lendo o código e não o escrevendo, por isso é muito importante que nosso código seja expressivo.

Então vamos começar fazendo uma função bem simples, para isso vamos usar o comando def.
# definindo a funcao
def diz_oi():
    print 'oi fulano'

# chamando a funcao
diz_oi()

Esse exemplo é bem simples, basicamente ao escrevermos "diz_oi()" é executado o "print 'oi fulano'".
Mas esse exemplo não é muito reutilizável, se precisarmos dar oi para outra pessoa já não poderíamos usar essa função.
Para melhorarmos essa função podemos utilizar parâmetros, parâmetros são variáveis que o código que chama a função pode passar para a função. No próximo exemplo o nome de quem estamos dando oi será um parâmetro.

def diz_oi(nome):
    print 'oi',nome

diz_oi('fulano')
diz_oi('ciclano')

Podemos passar diversos parâmetros para a função.
No próximo exemplo a função "diz_oi" recebe mais um parâmetro (entusiamo), que define a quantidade da letra "o" no oi.

def diz_oi(nome,entusiasmo):
    oi = 'o' * entusiasmo + 'i'
    print oi, nome

diz_oi('fulano',3)
diz_oi('ciclano',7)


Vimos então, que o código que chama a função pode passar parâmetros para a função. Mas a função também pode passar algo de volta para o código que a chamou, basta utilizarmos o comando return.
def soma(a,b):
    return a + b

print soma(2,2)

resultado = soma(5,3)
print resultado

No exemplo acima o resultado do cálculo da soma é retornado ao final da função.
Esse resultado pode ser impresso, armazenado ou processado tudo depende do código que chamou a função. Poderíamos por exemplo, passar o resultado como parâmetro novamente.


def soma(a,b):
    return a + b

print soma(soma(1,2),soma(2,3))


Esse último exemplo soma o resultado de duas funções soma, "soma(1,2)" que resulta em 3 e "soma(2,3)" que resulta em 5, assim, a soma das somas resulta em 8.

Obrigado!

Nenhum comentário :

Postar um comentário