[Python-es] curioso comportamiento de if elif

Alvaro Manrique sanreikaj.foros en gmail.com
Sab Feb 25 18:55:25 CET 2012


Siempre se hace primero el parsing y luego es que se ejecuta, no es que
esta evaluando las dos en tiempo de ejecución
El 25/02/2012 13:22, "mauricio rodriguez" <rodriguez.mauricio55 en gmail.com>
escribió:

> estamos de acuerdo, creo que no me estoy haciendo entender
>
> mi problema no es con el if esta resuelto el asunto. Lo que sucede es que
> no comprendo porque python evalúa la sentencia de una condición que no
> se cumple.
>
> Por lo visto el interprete evalúa siempre la sintaxis y si esta esta
> equivocada detiene la ejecución del script
>
> bueno ese parece ser el comportamiento solo quería saber por que,
> supongo que es cuestión del diseño del  lenguaje.
>
> En php digamos que no se puede imprimir nada luego de un header(Location:
> xxx), pero si lo metes dentro de un if esleif no evaluara el print o echo
> dentro del elseif en tanto se cumpla la condición del if .
>
> esa es mi curiosidad ..
>
> espero haberme explicado bien
>
>
>
>
> El 26 de febrero de 2012 15:28, Manuel A. Estevez Fernandez <
> stvzito en gmail.com> escribió:
>
>>  [root en stvz stvz]# python3
>> Python 3.2.1 (default, Jul 11 2011, 18:55:33)
>> [GCC 4.6.1 20110627 (Red Hat 4.6.1-1)] on linux2
>>
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> var = '1'
>> >>> if var == '1':
>> ...     print('algo')
>>
>> ... elif var =='2':
>> ...     print('otra cosa')
>> ...
>> algo
>> >>>
>>
>>
>> El 25/02/12 11:30, mauricio rodriguez escribió:
>>
>> [mcun en RUN ~] <$>  python
>> Python 3.2.2 (default, Nov 21 2011, 16:50:59)
>> [GCC 4.6.2] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> var = '1'
>> >>> if var == '1'
>>   File "<stdin>", line 1
>>     if var == '1'
>>                 ^
>> SyntaxError: invalid syntax
>> >>> var = '1'
>> >>> if var == '1':
>> ...     print ('algo')
>> ... elif var == '2':
>> ...     print 'otra cosa'
>>   File "<stdin>", line 4
>>     print 'otra cosa'
>>                     ^
>> SyntaxError: invalid syntax
>>
>>  ?¿?¿
>>
>>  evalúa la sentencia de elif  ¿?
>>
>>
>>  El 25 de febrero de 2012 15:26, Jhonny5 <jhonny5 en gmail.com> escribió:
>>
>>> Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
>>> [GCC 4.5.2] on linux2
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>  >>> var = '1'
>>> >>> if var == '1':
>>>  ...     print ('algo')
>>> ... elif var == '2':
>>> ...     print 'otra cosa'
>>> ...
>>> algo
>>>
>>>
>>>
>>>  saludos,
>>> j.
>>>
>>> 2012/2/25 mauricio rodriguez <rodriguez.mauricio55 en gmail.com>
>>>
>>>> disculpen me equivoque al tipear var es un string
>>>>
>>>>  el ejemplo seria así
>>>>
>>>>   var = '1'
>>>> if var == '1':
>>>>     print ( 'algo')
>>>> elif var == '2':
>>>>      print 'otra cosa '
>>>>
>>>>  el error me lo marca en elif ya que print lo pues sin paréntesis y
>>>> corro la versión 3 de python
>>>>
>>>>  de allí mi pregunta porque evalúa la sentencia de elif si
>>>> la condición de elfi no se cumple
>>>>
>>>>  gracias por su tiempo
>>>>
>>>>
>>>>
>>>> El 25 de febrero de 2012 15:17, Juan José Gómez Romera <
>>>> jjgomera en gmail.com> escribió:
>>>>
>>>>>
>>>>>
>>>>> El 25 de febrero de 2012 17:54, Alvaro Manrique <
>>>>> sanreikaj.foros en gmail.com> escribió:
>>>>>
>>>>>  Otra cosa, el print puedes dejarlo sin los paréntesis, no va a
>>>>>> cambiar el funcionamiento
>>>>>> solo que es mas acostumbrado sin ellos.
>>>>>>
>>>>>>
>>>>> Si usas python 3 no es cuestión de costumbre, es obligatorio usarlos
>>>>> ;)
>>>>>
>>>>>  _______________________________________________
>>>>> Python-es mailing list
>>>>> Python-es en python.org
>>>>> http://mail.python.org/mailman/listinfo/python-es
>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Python-es mailing list
>>>> Python-es en python.org
>>>> http://mail.python.org/mailman/listinfo/python-es
>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>
>>>>
>>>
>>>
>>>   --
>>>  talueee.com
>>>
>>>   Linux User #236965 (linuxcounter.net)
>>>  key: http://talueee.com/gpg/jhonny5.asc
>>> fingerprint = 9ACC 8E56 F40B 27A5 977C  49E6 F896 511E 657A E933
>>> Po fueno, po fale, po malegro.
>>>
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> http://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>>
>>
>> _______________________________________________
>> Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120225/26b12830/attachment.html>


Más información sobre la lista de distribución Python-es