Ver Feed RSS

root@blog:/# chmod o+r *

[Curso de Python] Introdução à Funções em Python

Avalie este Post de Blog

Antes de prosseguir leia os artigos anteriores aqui.



Olá pessoal!

A alguns dias concluímos o aprendizado básico de controle de fluxo usando o if, elif, else, while e o for. Agora vamos aprender a trabalhar com funções, uma outra estrutura que serve para controle de fluxo de um programa.


Introdução às Funções em Python



Definição: Uma função é um bloco de código que recebe a designação de um nome. Ela também possui parâmetros e argumentos e retornam um valor.

Como essa primeira parte é apenas introdutória vamos ver o básico de funções, nada de argumentos/parâmetros e nada de retornar valores.

O Python possui diversas funções predefinidas, algumas já até vistas por nos. Essas funções são comumente classificadas como built-in functions. Em um post futuro irei abordar as funções built-in mais importantes, por enquanto vamos aprender a como criar nossas próprias funções.


Defininado uma função

As funções em Python são definidas usando a palavra-chave def. Após o def inserimos o nome da função e um par de parênteses e dois pontos (. Os dois pontos são fundamentais para a definição de uma função.

Assim como o while, o for o if, elif e o else os dois pontos definem o início de um novo bloco de código que obrigatoriamente deve ser identado. Vamos ver um exemplo:

Código PHP:
def ola():
    print 
'Olá mundo!'

ola()
ola()
ola() 
Execução do programa:
Código :
Olá mundo!
Olá mundo!
Olá mundo!
As funções são muito úteis para "compactar" um código. O nome correto disso é reutilização de código, é algo fundamental para um programador. Vamos ver um exemplo de reutilização de código. Vamos supor que precisamos de um programa que conte quantas vezes a letra aparece nas palavras ('teste', 'reutilizacao', 'codigo'). Para tornar essa necessidade mais explícita não podemos usar nenhuma forma de loop.

Primeiramente vamos ver uma resolução desse problema sem a utilização de funções:
Código PHP:
palavra 'teste'
contador 0
for letra in palavra:
    if 
letra == 'a':
        
contador += 1

print 'Na palavra',palavra,'exitem',contador,'ocorrencias da letra a'


palavra 'reutilizacao'
contador 0
for letra in palavra:
    if 
letra == 'a':
        
contador += 1

print 'Na palavra',palavra,'exitem',contador,'ocorrencias da letra a'


palavra 'codigo'
contador 0
for letra in palavra:
    if 
letra == 'a':
        
contador += 1

print 'Na palavra',palavra,'exitem',contador,'ocorrencias da letra a' 
Execução do código:
Código :
Na palavra teste exitem 0 ocorrencias da letra a
Na palavra reutilizacao exitem 2 ocorrencias da letra a
Na palavra codigo exitem 0 ocorrencias da letra a
Agora vamos rever como refazer o código acima utilizando funções:
Código PHP:
def busca_letra():
    
contador 0
    
for letra in palavra:
        if 
letra == 'a':
            
contador += 1
    
print 'Na palavra',palavra,'exitem',contador,'ocorrencias da letra a'

palavra 'teste'
busca_letra()
palavra 'reutilizacao'
busca_letra()
palavra 'codigo'
busca_letra() 
Execução do código:
Código :
Na palavra teste exitem 0 ocorrencias da letra a
Na palavra reutilizacao exitem 2 ocorrencias da letra a
Na palavra codigo exitem 0 ocorrencias da letra a
Podemos ver que ambos possuem a mesma saída, mas (depois que se acostuma com as funções) o segundo exemplo é extremamente mais legivel.

Além de tornar um código mais legível, a reutilzação de código permite que o programa seja reformulado com mais facilidade. Por exemplo, se quisermos que ao invés de buscar a letra 'a' seja buscada a letra 'c', no primeiro exemplo teríamos que alterar 3 linhas de código, já no segundo exemplo, basta alterar uma linha.

Sei que isso pode parecer pouco, mas em um programa realmente complexo isso pode ser a diferença entre alterar 4 linhas ou 52 linhas distribuídas em 10 arquivos diferentes.

Como esta é apenas uma introdução às funções não vou deixar nenhum exercício, até mesmo porque usar uma função desta forma que mostrei não é a melhor das opções.
Até mais...

Atualizado 01-09-2010 em 09:17 por Magnun

Categorias
Python , Artigos , Artigos , Cursos , Curso de Python

Comentários

  1. Avatar de fabraga
    Belewwwza!

+ Enviar Comentário