python - publicas - Variable local(?) Referenciada antes de la asignación
variables locales ejemplos (3)
Debes especificar que test1 es global:
test1 = 0
def testFunc():
global test1
test1 += 1
testFunc()
Posible duplicado:
var local referenciado antes de la asignación
Python 3: UnboundLocalError: variable local a la que se hace referencia antes de la asignación
test1 = 0
def testFunc():
test1 += 1
testFunc()
Estoy recibiendo el siguiente error:
UnboundLocalError: variable local ''test1'' a la que se hace referencia antes de la asignación.
El error dice que ''test1''
es una variable local, pero pensé que esta variable es global
Entonces, ¿es global o local y cómo resolver este error sin pasar global test1
como argumento para testFunc
?
La mejor solución: No use s global
>>> test1 = 0
>>> def test_func(x):
return x + 1
>>> test1 = test_func(test1)
>>> test1
1
Para poder modificar test1
mientras está dentro de una función, deberá definir test1
como una variable global, por ejemplo:
test1 = 0
def testFunc():
global test1
test1 += 1
testFunc()
Sin embargo, si solo necesita leer la variable global, puede imprimirla sin utilizar la palabra clave global
, como esta:
test1 = 0
def testFunc():
print test1
testFunc()
Pero siempre que necesite modificar una variable global, debe usar la palabra clave global
.