local variable referenced before assignment

Marcos Sánchez Provencio rapto en arrakis.es
Jue Dic 18 14:26:14 CET 2003


De todos modos, no es nada sano hacer un import *, ya que en cualquier 
momento puedes machacar variables locales sin saberlo. import * está 
para código rápido y sucio interactivo, sobre todo. Si no ponemos un 
import * en Python es posible saber de dónde sale cada nombre definido 
sin mirar otros módulos, cosa que no ocurre en otros lenguajes y que yo 
encuentro muy acorde con el principio de mínima sorpresa.

fermunyoz en softhome.net wrote:

> Hola a todos,
> soy un poco nuevo en python y tengo un problema, que se meda 
> continuamente. Os lo cuento:
> Tengo una variable al principio de mi programa que la utilizo dentro 
> de una execpcion, para inicializarla a un valor concreto, cuando 
> postertiormente la hago referencia en la funcion principal con un 
> simple print, me da el error:
> local variable referenced before assignment
> La cosa seria asi(por ejemplo):
> try:
>   variable=2
>   from variables import *
> except ImportError, err:
>   print "No se cargo el modulo. %s" % (err)
>   sys.exit(2)
> def main():
>           print variable
> if __name__ == '__main__': main()
> No se si en python hay que inicializar las variables antes de 
> utilizarlas con un valor predeterminado.Hasta ahora cuando me daba 
> este problema inicilizaba la variable antes de llamarla a un valor, 0 
> por ejemplo,pq el error no lo a dado siempre,sino que al hacer unos 
> cambios en el programa que no tiene que ver con la variable en 
> cuestion,luego ejecute y me lo dio.
> Si alguien tiene una solucion agradeceria que me ayudara, pq estoy 
> upoco perdido.
> GRACIAS.
> _______________________________________________
> 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