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.
OIntroduçã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:
Execução do programa:Código PHP:
def ola():
print 'Olá mundo!'
ola()
ola()
ola()
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.Código:Olá mundo! Olá mundo! Olá mundo!
Primeiramente vamos ver uma resolução desse problema sem a utilização de funções:
Execução do código: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'
Agora vamos rever como refazer o código acima utilizando funções: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
Execução do código: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()
Podemos ver que ambos possuem a mesma saída, mas (depois que se acostuma com as funções) o segundo exemplo é extremamente mais legivel.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
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...
[Curso de Python] Introdução à Funções em Python
10 de Junho de 2010, 0:00 - sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 159 vezes
0sem comentários ainda