Ir para o conteúdo
ou

Software livre Brasil

Magnun

Nenhum artigo selecionado ainda.
 Voltar a Blog
Tela cheia

[Curso de Python] Funções com Argumentos e Valores Padrões

21 de Julho de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 183 vezes

Antes de prosseguir leia os artigos anteriores aqui.


No último post sobre funções com argumentos nomeados, eu mostrei como referenciar argumentos utilizando como base o nome designado a este argumento. Hoje vamos ver como utilizar valores padrões, ou pré-definidos, em um argumento.


Funções com Argumentos e Valores Padrões


Muitas vezes você precisa criar uma função quase idêntica a outra, a única diferença é que uma recebe argumentos enquanto a outra não. O Python nos oferece um recurso interessante para evitar a criar de duas funções com comportamentos similares. Os valores padrões fazem um argumento se tornar opcional. Vamos a um exemplo prático, precisamos de uma função que incremente um numero. Caso não especificado um "valor de incremento", o número será incrementado com o "valor de incremento" igual a um. Ou seja, o comportamento da função deve ser o seguinte:

Código:
>>> incrementa(10)
11
>>> incrementa(2)
3
>>> incrementa(4,2)
6
>>> incrementa(7,10)
17
Em resumo essa função deve somar dois numeros. Como podemos ver o segundo argumento é opcional, caso informado o primeiro número deve ser somado ao segundo, caso não seja informado o segundo número, o primeiro número deve ser somando a um valor fixo que, conforme especificado, é 1. Vamos ao código:

Código PHP:
def incrementa(num1num2=1):
    return 
num1+num2 
O valor padrão é definido na declaração da função. Ao declarar um argumento com um valor inicial (num=2) ele se torna opcional, podendo ou não ser especificado. Vamos a outro exemplo: Criar uma função que conte o numero de caracteres que uma frase tem. O argumento opcional é uma letra e, caso seja especificado, a função deve contar as ocorrências dessa letra:
Código PHP:
def conta_caracteres(fraseletra=None):
    if 
letra is None:
        
cont 0
        
for l in frase:
            
cont cont 1
    
else:
        
cont 0
        
for l in frase:
            if 
== letra:
                
cont cont 1
    
return cont 
Como podemos ver, eu iniciei o argumento letra como None. Ao inciar a função verifico se o valor padrão de letra foi alterado (if letra is None), caso negativo, eu conto o número de letras na frase. Caso a letra tenha sido especificado (else) eu conto o número de ocorrências da letra. Antes que alguém fale, eu sei que existem funções prontas que fazem isso, eu estou utilizando apenas como exemplo. Abaixo a execução desse código:
Código:
>>> conta_caracteres('esta e uma frase')
16
>>> conta_caracteres('esta e uma frase', 'a')
3
>>> conta_caracteres('esta e uma frase', 'f')
1
>>> conta_caracteres('esta e uma frase', ' ')
3
>>>
Boa semana a todos e até a próxima...

Fonte: http://under-linux.org/blogs/magnun/%5Bcurso-de-python%5D-funcoes-com-argumentos-e-valores-padroes-2186/

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.