Ver Feed RSS

root@blog:/# chmod o+r *

[Curso de Python] Condições com variáveis vazias

Avalie este Post de Blog

Antes de prosseguir leia os artigos anteriores aqui



Pessoal, estamos quase fechando esse assunto de comparações, condições e ifs/elifs/else... Só mais um pouco!


Condições com variáveis vazias


Este é outro recurso que ajuda a simplificar as estruturas de condição em Python. mas antes de ver como isso funciona preciso explicar que na verdade os ifs/elifs não entendem ints, floats e etc, na verdade ele interpreta a comparação e pega somente o resultado, True ou False.

Pensando nisso, o Python assume automaticamente que certos "valores" de variáveis são verdadeiras e outras são falsas. Nesse exemplo vou utilizar o princípio da atribuição condicional com uma pequena diferença, no if não haverá nenhum condição. Vamos ver alguns exemplo:
Código:
>>> 'true' if -1 else 'false'
'true'
>>> 'true' if 0 else 'false'
'false'
>>> 'true' if 1 else 'false'
'true'
>>>
Como podem ver o Python acha que o 0 é falso e que qualquer outro número é verdadeiro.

Vamos ver mais algumas variáveis:
Código:
>>> 'true' if [1, 2] else 'false'
'true'
>>> 'true' if [] else 'false'
'false'
>>> 'true' if (1,2) else 'false'
'true'
>>> 'true' if () else 'false'
'false'
>>> 'true' if {'a':1, 'b':2} else 'false'
'true'
>>> 'true' if {} else 'false'
'false'
Como mostrado acima qualquer variável vazia é considerada como falso.

Isso é muito útil pois com muita frequência iremos tratar variáves sem saber exatamente o que elas são, então saber que, pelo menos, elas não estão vazias já será um bom começo!

Até mais...

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

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

Comentários

Página 1 de 2 12 ÚltimoÚltimo
  1. Avatar de Humildade
    Então temos sempre que definir o valor de uma variável ?
    No caso de um laço se não definirmos o valor antes do código (corpo do laço), então este laço não seria executado porque seria falso?

    Abs
    Gilson
  2. Avatar de Magnun
    Se você estiver se referindo a um laço while isso é verdade. Já o laço for tem um comportamento diferente.
  3. Avatar de Humildade
    Valeu mais uma vez Magnun!
  4. Avatar de theusseveen
    vlw pela ótima aula.
  5. Avatar de fabraga
    Ótimo!
Página 1 de 2 12 ÚltimoÚltimo

+ Enviar Comentário



Visite: BR-Linux ·  VivaOLinux ·  Dicas-L