Matices del trabajo con ámbitos en Python

Consideremos los matices importantes del trabajo con variables locales y globales.

Supongamos que tenemos una variable global num. Creemos una función func que muestre la variable global num en la consola:

pythonnum = 1

def func():
  print(num)

func() # mostrará 1

Y ahora declaremos una variable local num en la línea siguiente a la función print. Después de ejecutar el código, se mostrará un error en la consola. Esto ocurre porque Python dentro de la función percibe num solo como una variable local que aún no ha sido declarada:

pythonnum = 1

def func():
  print(num) # mostrará error
  num = 2

Reescribamos ahora el código dentro de la función para que el valor de la variable num aumente en 2:

pythonnum = 1

def func():
  num += 2 # mostrará error

El error se debe a que la expresión num += 2 representa la siguiente escritura:

pythonnum = num + 2

Sin embargo, la propia variable local, a la que se le suma, aún no está declarada. Y, en consecuencia, Python muestra un error, ya que no se puede sumar un número a un valor inexistente.

Задание 1

¿Cuál será el resultado de la ejecución del siguiente código:

pythontst = '12'

def func():
  tst = 12
  return tst
  
print(tst)
Задание 2

¿Cuál será el resultado de la ejecución del siguiente código:

pythontst = 'abc'

def func():
  tst = tst.upper()
  return tst

func()
print(tst)
Задание 3

¿Cuál será el resultado de la ejecución del siguiente código:

pythontst = 'abc'

def func():
txt = tst.upper()
return txt
    
print(func())
print(tst)