Nuances do escopo em Python

Vamos considerar os nuances importantes do trabalho com variáveis locais e globais.

Suponha que temos uma variável global num. Vamos criar uma função func que irá exibir a variável global num no console:

pythonnum = 1

def func():
  print(num)

func() # exibirá 1

E agora vamos declarar uma variável local num na linha abaixo da função print. Após a execução do código, um erro será exibido no console. Isso acontece porque o Python dentro da função interpreta num apenas como uma variável local que ainda não foi declarada:

pythonnum = 1

def func():
  print(num) # exibirá um erro
  num = 2

Agora vamos reescrever o código dentro da função para que o valor da variável num aumente em 2:

pythonnum = 1

def func():
  num += 2 # exibirá um erro

O erro é causado porque a expressão num += 2 representa a seguinte escrita:

pythonnum = num + 2

No entanto, a própria variável local à qual a adição está sendo feita ainda não foi declarada. E, consequentemente, o Python exibe um erro, pois não é possível adicionar um número a um valor inexistente.

Задание 1

Qual será o resultado da execução do seguinte código:

pythontst = '12'

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

Qual será o resultado da execução do seguinte código:

pythontst = 'abc'

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

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

Qual será o resultado da execução do seguinte código:

pythontst = 'abc'

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