#python #visual-studio-code #vscode-debugger
Вопрос:
Я столкнулся с этим странным поведением в отладчике кода VS при пошаговом прохождении кода строка за строкой.
Раньше print(var1)
, когда я выполняю del var1
в консоли отладки, она удалится var1
, и следующая строка print(var1)
завершится ошибкой, как и ожидалось.
Однако main()
, когда я выполняю del var2
в консоли отладки, он ничего не делает. Следующая строка print(var2)
выполняется успешно. var2 = 'new'
изменит значение в консоли отладки, но del var2
не удалит переменную.
Есть ли какая-либо причина для такого непоследовательного поведения? Похоже, что консоль отладки кода VS не удаляет переменные внутри функции. Когда я выполняю ту же отладку pdb
, она работает так, как ожидалось ( var2
удаляется).
var1 = 'value1'
# del var1 (in vscode Debug Console)
print(var1)
def main():
var2 = 'value2'
# del var2 (in vscode Debug Console)
print(var2)
main()
VS Код v1.61.1 (сентябрь 2021)
Python v3.9.5