Почему переменная, объявленная внутри блока try-кроме, доступна вне блока в Python? - PullRequest
1 голос
/ 24 февраля 2020

Привет, я запутался в том, как python может получить доступ к переменной, объявленной в экземпляре блока try из нее. Как это работает на уровне памяти?

Вот блок кода, в котором я запутался. Я на Python 3.8

def demo_method():
    try:
        num = float(input("Please enter a positive number (floating point) :"))
    except ValueError:
        num = float(input("Please enter a positive number (floating point) :"))

    print("Value Entered ", num) ##Doubt: Why is this num tagged to the value fetched in either try block or except block


demo_method()

В приведенном выше фрагменте кода, num объявляется внутри try (локально для себя), а также кроме (локально для себя). Как можно распечатать заявление, которое находится за пределами обеих попыток и кроме как получить доступ к этой переменной.

Я из java фона, и я новичок в python. Я был бы очень признателен за подробный ответ. Спасибо

...