variable - lista de listas python
¿Una forma fácil de verificar que una variable esté definida en python? (5)
Lectura y / o trucos en python: ''a'' en locals () y un
Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo puedo verificar si existe una variable? 10 respuestas
¿Hay alguna manera de verificar si se define una variable (miembro de la clase o independiente) con el nombre especificado? Ejemplo:
if "myVar" in myObject.__dict__ : # not an easy way
print myObject.myVar
else
print "not defined"
Paolo tiene razón, puede haber algo con la forma en que haces las cosas si es necesario. Pero si solo estás haciendo algo rápido y sucio, probablemente no te importe Idiomatic Python , entonces esto puede ser más corto.
try: x
except: print "var doesn''t exist"
Para probar si la variable, myvar, está definida:
result = dir().count(''myvar'')
Si se define myvar, el resultado es 1
; de lo contrario, sería 0
.
Esto funciona bien en Python versión 3.1.2.
Una forma compacta:
print myObject.myVar if hasattr(myObject, ''myVar'') else ''not defined''
Sin embargo, el camino de Htw es más Pythonic.
hasattr()
es diferente de x in y.__dict__
, aunque: hasattr()
toma en cuenta atributos de clase heredados, así como los dinámicos devueltos de __getattr__
, mientras que y.__dict__
solo contiene aquellos objetos que son atributos de la instancia y
.
try:
print myObject.myVar
except NameError:
print "not defined"