【问题标题】:How to use Python Interactive Window in VS Code with functions如何在带有函数的 VS Code 中使用 Python 交互窗口
【发布时间】:2022-01-19 19:58:23
【问题描述】:

我是使用 python 交互式窗口的新手,我喜欢它,但它似乎在两次运行之间清除了局部变量,所以如果我运行类似的东西


def main():
    dates = '2012152'
    # %%
    print(dates)              # want to just run this

    # %%


if __name__ == '__main__':
    main()

# or even
main()

一下子就可以正常工作,但是如果我只运行中间单元格,我会收到“未定义日期”错误。它在函数之外工作,因为显然保存了一个全局变量:

dates = '2012152'
# %%
print(dates)             # this works if this cell is run

# %%

有什么方法可以在函数中获得类似的行为?如果不是,它似乎对我一点用都没有(也许我的代码设计得很糟糕?)。

【问题讨论】:

    标签: python visual-studio-code python-interactive


    【解决方案1】:

    是的,print(dates) 不会运行,因为 dates 变量不在作用域内,除非函数 main 被调用,即使这样 dates 也只会在函数的本地作用域内,而不是在全局范围。

    所以要在函数外打印,需要先定义。

    【讨论】:

    • 那么交互式终端有没有办法在函数内部的某个地方暂停脚本,将变量保存在内存中,然后单行运行多次并进行调整?我认为这就是像这样的交互模式的重点
    • 交互式终端是指jypter notebook吗?
    • 不,我认为它与 jupyter 兼容性不同,但可能会在引擎盖下使用它或其他东西。我说的是“在交互式窗口中运行当前文件”中的窗口,这是您在编辑器中单击鼠标右键时的一个选项。
    • 默认的python IDLE?
    • 在 VS 代码中。它只是被称为交互式窗口,它是预先安装的,或者至少是标准的 Python 包。 code.visualstudio.com/docs/python/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多