El equivalente a isset del PHP

Marcos Sánchez Provencio rapto en arrakis.es
Dom Nov 28 12:09:08 CET 2004


Mira 

if 'a' in locals() or a in globals():
	[Existe 'a']
else:
	[No existe 'a']

Aun así, no parece muy elegante, pero depende del problema concreto.

Por cierto, nunca pongas except: vacío, es una receta para el desastre,
ya que capturará errores inesperados y creerás que son que a no está
definido. En este caso sería 

except NameError:

Y afinando más:

try:
    b
except NameError, e:
    if e.args[0]=="name 'a' is not defined":
        print 'nombre "a" no definido'
    else:
        raise
¿Hay manera de ver si es 'a' de otro modo más elegante?

El dom, 28-11-2004 a las 10:37 +0100, Jose Luis Nogueira Alonso
escribió:
> Antes de nada quería mandaros un saludo a todos, pues llevo menos de una semana en la lista y aún no me he presentado formalmente.
> 
> Aprovechando este mensaje quería saber si alguno me puede echar una mano por una pequeña duda.
> 
> Resulta que estoy usando python para hacer un pequeño desarrollo Web, de este modo sustituyo el código PHP por python. Ahora me encuentro con la siguiente duda: 
> - En PHP se podía saber si una determinada variable estaba definida, para ello empleaba:
> 	if ( !isset($a) )...
> - En python hago esto mismo pero de una manera mucho menos elegando, incluso diría que "chapucera":
> 	try:
> 		if a:
> 			...
> 	except:
> 		...
> 
> Existe alguna manera de saber si una variable ha sido definida previamente, sin tener que usar excepciones ???
> 
> Gracias, y un saludo a todos.
> 

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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