Articles of scope

¿Cómo crear variables de ámbito dinámicas en Python?

Estoy traduciendo algún código de lisp a Python. En lisp, puede tener una construcción de dejar con las variables introducidas declaradas como especiales y, por lo tanto, tener un scope dynamic. (Ver http://en.wikipedia.org/wiki/Dynamic_scope#Dynamic_scoping ) ¿Cómo puedo hacer lo mismo en Python? Parece que el lenguaje no admite esto directamente, si es cierto, ¿cuál sería una […]

diccionario vacío como valor predeterminado para el argumento de palabra clave en la función python: ¿parece que el diccionario no se inicializa a {} en las llamadas subsiguientes?

Aquí hay una función. Mi intención es usar valores predeterminados de argumentos de palabras clave para hacer que el diccionario sea un diccionario vacío si no se proporciona. >>> def f( i, d={}, x=3 ) : … d[i] = i*i … x += i … return x, d … >>> f( 2 ) (5, {2: […]

Error de validación: nombre externo redefinido del ámbito externo

No estoy seguro de obtener esto, pero recibí un error de validación de pyLint que decía: Redefining name ‘a’ from outer scope (line 443) (redefined-outer-name) Redefining name ‘b’ from outer scope (line 444) (redefined-outer-name) El código es así: a = 98 # line 443 b = 90 # line 444 def prodNr(a, b): “””Definiera prodNr””” […]

¿Pueden los hilos de Python acceder a las variables en el espacio de nombres?

Tengo una secuencia de comandos que crea un montón de subprocesos, ejecuta un progtwig para usar los subprocesos para ejecutar tareas desde una cola y devuelve algo de cada subproceso. Quiero contar cuántos de estos devolvieron con éxito, así que configuro una variable “exitoso = 0” y la incrementé cada vez que la cola informa […]

Definiciones de funciones anidadas y scope (UnboundLocalError)

¿Por qué el siguiente código no es válido? def foo1(x=5): def bar(): if x == 5: x = 6 print(x) bar() Si bien este código es válido: def foo2(x=5): def bar(): if x == 5: print(‘ok’) print(x) bar() foo2() hará exactamente lo que espera, pero foo1() proporcionará un UnboundLocalError: local variable ‘x’ referenced before assignment […]

Capturar la variable de for-loop para usar más tarde en QPushButton

Descargo de responsabilidad : ya he leído otras preguntas como esta (por ejemplo, esta) pero todavía no he encontrado una solución que funcione (o simplemente no las entiendo) Cuando creo una lambda dentro de un bucle for para acceder a los datos desde el scope del bloque, pylint una advertencia de pylint ( cell-var-from-loop ) […]

Python local vs variables globales

Entiendo el concepto de variables locales y globales en Python, pero solo tengo una pregunta acerca de por qué el error sale de la manera en que aparece en el siguiente código. Python ejecuta los códigos línea por línea, por lo que no sabe que a es una variable local hasta que lee la línea […]

la cláusula except borra la variable local

exc = None try: raise Exception except Exception as exc: pass # … print(exc) NameError: el nombre ‘exc’ no está definido Esto solía trabajar en Python2. ¿Por qué se cambió de esta manera? Si pudiera al menos reasignar a exc , similar a los atributos de nivel de clase class Foo(object): Bar = Bar Pero […]

¿Usando la función max de Python cuando tiene una variable llamada max?

Python incluye la función max () incorporada. Sin embargo, a pesar de estar integrado, no es una palabra clave. Es decir, se le permite hacer max=4 . Esto tiene sentido ya que lo máximo de algo sale mucho. ¡Pero! Si usa max como una variable, entonces desactiva el uso de la función max en ese […]

accediendo al “módulo de scope” vars

Actualmente estoy aprendiendo Python, y tengo que trabajar en un proyecto Python 2.7. Acceder a las variables del “scope del módulo” en las funciones del módulo en sí mismo es un poco confuso para mí, y no logré encontrar una manera satisfactoria. Mis bashs hasta ahora: Camino 1: mi_módulo.py my_global_var = None def my_func(): global […]