Это похоже на то, что вы запускаете код с помощью Shift + ENTER.
VS-код имеет следующие 2 привязки для Shift_ENTER:
Я полагаю, что вы видите 2-й из них, который говорит: «Выполнить выделение / строку в терминале Python. Я подозреваю, что у вас есть фокус на линии return y
, и поэтомуон запускает только одну строку кода.
Если вместо Shift + ENTER вы используете команду «Выполнить код» в VS Code, вы должны увидеть, что она работает нормально:
Вы вполне могли бы подумать: «Хорошо ... поэтому, если я выберу весь код, это будет работать, верно?», И я согласен ... такое чувство, что оно должно работать. Однако,Я вижу аналогичную проблему. Я посмотрю, смогу ли я понять, почему, но на данный момент вы можете использовать команду «Выполнить код» в VS Code, и это будет делать то, что вы хотите. Если вы выделите код, который хотите запустить, этобудет ограничивать то, что будет выполнено.
Выполнить код можно с помощью Ctrl+Alt+N
Это выглядит какe (этот выбранный код работает неправильно с Shift + ENTER) - это ошибка, отслеживаемая здесь: https://github.com/Microsoft/vscode-python/issues/2837
И обходной путь (не идеальный) - добавить код до / после вашей функцииэто НЕ с отступом, а затем выберите и выполните те строки:
print("this...")
def function(x):
y = x + 2
return y
print("...now works if you select all these lines and Shift+ENTER!")