Articles of global

Llamar a una variable en una función diferente sin usar global

Estoy tratando de usar una variable / lista en una función que está definida en otra función sin hacerla global. Aquí está mi código: def hi(): hello = [1,2,3] print(“hello”) def bye(hello): print(hello) hi() bye(hello) En este momento me aparece el error de que “hola” en “bye (hola)” no está definido. ¿Cómo puedo resolver esto?

Asignar un valor a la variable de clase es asignarlo a todas las instancias de ese objeto

Tengo una clase con un diccionario. Creo n instancias de números de la clase. Cuando I + = los valores en una clave en ese diccionario se reflejan en cada uno de los objetos que he creado desde ese objeto. ¿Cómo hago que ese diccionario sea único para cada instanciación de esa clase? Así es […]

Accediendo a una variable global de Python a través de archivos

Tengo tres archivos python en un proyecto: ”’lib.py library file that first defines and also accesses a boolean flag”’ vflag = False … def lib_method() global vflag if not vflag: do_something_here ”’app.py main application that sets the boolean flag defined in lib.py”’ import lib lib.vflag = method_that_sets_or_resets_vflag() ”’processor.py does some processing and needs to access […]

Tornado – Variable global de Python

Estoy intentando usar Tornado con SqlAlchemy, necesito pasar el usuario actual de RequestHandler (tornado) a los modelos (SqlAlchemy) en la acción de inserción o actualización. Pero no quiero pasar el valor directamente al modelo, ejemplo: #### RequestHandler POST method… user = Session.query(User).get(1) user.name = “bla, bla, bla…” user.updated_by = self.current_user # don’t use… session.commit() Estoy […]

¿Por qué puedo globalizar una variable no existente en python?

Primero, entiendo completamente lo que significa una statement global y cómo usarla. Ahora, veamos esto: x = 100 def f(): global x global xxx x = 99 return x print(f()) # >>> 99 print(x) # >>> 99 Puede ver que al usar global x , cambié con éxito el valor de x en el entorno […]

Gestión global de excepciones en Google App Engine

En lugar de encapsular todo mi código en un bloque try {} excepto {}, ¿hay alguna forma de capturar excepciones globalmente? Básicamente, estoy buscando una manera de tener un controlador de excepciones global que maneje todas las excepciones no manejadas en la aplicación my python escrita para el motor de aplicaciones de Google.

¿No puede cambiar las variables globales en una función a través de una statement exec ()?

¿Por qué no puedo cambiar las variables globales desde dentro de una función, usando exec ()? Funciona bien cuando la sentencia de asignación está fuera de exec (). Aquí hay un ejemplo de mi problema: >>> myvar = ‘prueba’ >>> def myfunc (): … myvar global … exec (‘myvar = “cambiado!”‘) … imprimir (myvar) … […]

¿Por qué restablecer el valor global de python no tiene efecto?

Simplemente confundido sobre el valor global en Python, aquí hay dos piezas de código #gl.py import cli a = 1 print “gl 1: %d %d” % (id(a), a) def reset(): global a a = 7 print “reset 1: %d %d” % (id(a), a) if __name__ == ‘__main__’: cli.handler(reset) print “gl 2: %d %d” % (id(a), […]

Python: ¿Por qué se necesita global solo en la asignación y no en las lecturas?

Si una función necesita modificar una variable declarada en el scope global, necesita usar la statement global. Sin embargo, si la función solo necesita leer una variable global, puede hacerlo sin usar una statement global: X = 10 def foo(): global X X = 20 # Needs global declaration def bar(): print( X ) # […]

¿Por qué no puedo acceder a las incorporaciones si utilizo un dictado personalizado como funciones globales?

Tengo una subclase de dict como esta: class MyDict(dict): def __getitem__(self, name): return globals()[name] Esta clase se puede usar con eval y exec sin problemas: >>> eval(‘bytearray’, MyDict()) >>> exec(‘print(bytearray)’, MyDict()) Pero si hago una instancia de un objeto de función con el constructor types.FunctionType , la función no puede acceder a ningún componente incorporado: […]