Ir para o conteúdo
ou

Software livre Brasil

Magnun

Nenhum artigo selecionado ainda.
 Voltar a Blog
Tela cheia

[Curso de Python] Funções que Retornam Valores - Parte 2/2

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

Antes de prosseguir leia os artigos anteriores aqui



Olá pessoal! Hoje não tem muito blah blah blah, vamos fechar o conceito do "comando" return para podermos ver conceitos mais avançados com as funções em Python.



Funções que Retornam Valores - Parte 2/2



Conformefalamos na última aula, o comando return pode retornar qualquer tipo de dados. Diferente de outras linguagens o Python não restringe o tipo da variável de retorno, como ocorre em linguagens como C/C++, Java e etc. Vamos a um exemplo simples:

Código:
>>> def retorna(tipo):
...     if tipo == 'int':
...         return 1
...     elif tipo == 'long':
...         return 1L
...     elif tipo == 'float':
...         return 1.5
...     elif tipo == 'complex':
...         return 1 + 2j
...     elif tipo == 'list':
...         return [1,2,3]
...     elif tipo == 'tuple':
...         return (1,2,3)
...     elif tipo == 'dict':
...         return {'a':1, 'b':2}
...
>>>
>>> retorna('int')
1
>>> retorna('long')
1L
>>> retorna('float')
1.5
>>> retorna('complex')
(1+2j)
>>> retorna('list')
[1, 2, 3]
>>> retorna('tuple')
(1, 2, 3)
>>> retorna('dict')
{'a': 1, 'b': 2}
>>>
Como mostrado acima, uma única função pode retornar diversos diversos tipos diferentes.

Muitas pessoas se espantam quando vêem códigos em Python que retornam mais de uma variável. Devido à maleabilidade do Python, você pode fazer códigos estranhos como esse:

Código:
>>> def teste():
...     return True, 2
...
>>> flag, numero = teste()
>>> flag
True
>>> numero
2
>>> x = teste()
>>> print x
(True, 2)
>>> type(x)
<type 'tuple'>
>>>
Quando olhamos rapidamente o código acima temos q impressão de que o comando return no Python é capaz de retornar mais de uma variável (nesse exemplo o booleano True e o inteiro 2), mas isso não passa de uma "ilusão" pois quando chamamos a função e passamos o seu valor para uma única variável, vemos que na verdade foi retornado uma tupla com dois valores. Dessa forma, utilizar o "return True, 2" é o mesmo que "return (True, 2)". Pessoalmente prefiro utilizar os parênteses para ficar claro que aquilo é uma tupla, não correndo o risco de gerar uma dupla interpretação sobre o código.

Até a próxima pessoal...

Fonte: http://under-linux.org/blogs/magnun/%5Bcurso-de-python%5D-funcoes-que-retornam-valores-parte-2-2-2212/

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.