gpt4 book ai didi

python - `exit` 关键字在 Python3 中用 Jupyter Notebook 做什么?

转载 作者:太空狗 更新时间:2023-10-29 20:44:26 36 4
gpt4 key购买 nike

我目前在 Jupyter Notebook 中使用 Python3,我刚遇到关键字 exit。这个关键字有什么作用?

with open("some_file.txt") as f:
for lines in f:
print(lines)
exit

最佳答案

循环中的 exit 行什么都不做。不过,它们什么都不做的原因比 exit 在 Python 中什么都不做的通常原因要复杂一些。


通常,单独一行的 exit 不会退出 Python。至多,在交互模式下,它会打印一条消息告诉你如何退出 Python(消息在 _sitebuiltins.Quitter.__repr__ 中实现):

>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit

IPython 做了一些不同的事情。在 IPython 的许多额外系统中,为了交互方便,有一个系统 autocall特定类型的实例,IPython.core.autocall.IPyAutocall。 (这与 %autocall 魔法相似但不同。)

在 IPython 中,exitquit 被设置为 IPython.core.autocall.ExitAutocall 的实例,IPyAutocall 的子类。 IPython 识别这种类型的对象,因此当执行仅包含 exitquit 的行时,IPython 实际上退出。

In [1]: exit
[IPython dies here]

Jupyter notebook 的 IPython 内核将 exitquit 设置为密切相关的 IPython.core.autocall.ZMQExitAutocall 的实例。 ,它有一些额外的功能来支持 keep_kernel 参数,但在其他方面是一样的。

不过,只有当引用可自动调用对象的行是单元格的全部内容时,此功能才会触发。在一个循环中,自动调用功能不会触发,所以我们回到了没有任何事情发生的状态。

事实上,发生的情况比正常交互模式下发生的情况还要少 - 在正常的非 IPython 交互 session 中,由于差异,此循环会在每次迭代时打印“使用退出()...”消息IPython 和常规交互模式如何处理表达式自动打印。

关于python - `exit` 关键字在 Python3 中用 Jupyter Notebook 做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53676034/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com