如何在 Python 解释器中编写超过 1 行的代码?

42 terminal python

我在终端中编码 Python 时遇到问题。我只是在学习基础知识,所以我不需要创建 .py 文件。

在终端中,我可以在 Python 解释器中运行一行代码,但是如何编写不止一行代码?

显然,如果我按回车键,它会输入命令并且不会下一行。

我只想在终端中测试以下内容:

my_age = 35
my_eyes = 'Blue'
print "my age is %d and my eye color is %s" % (my_age, my_eyes)
Run Code Online (Sandbox Code Playgroud)

slh*_*hck 37

添加尾随反斜杠 ( \)

诀窍是——类似于你在 中所做的bash——添加一个尾随反斜杠。例如,如果我想打印一个1

charon:~ werner$ python
>>> print 1
1
>>> print \
... 1
1
>>> 
Run Code Online (Sandbox Code Playgroud)

如果你写了一个\,Python 会提示你...(续行)在下一行输入代码,可以这么说。

旁注:这是当您创建函数或类定义时自动发生的事情,即您真正需要换行的时候,因此从来没有真正好的用途,或者至少我不知道。换句话说,Python 足够聪明,可以在您输入新的函数定义或其他类似构造(例如if:)时意识到您需要续行。在这些自动情况下,请注意您需要输入一个空行,\用于告诉 Python 您已完成。

对于其他所有内容,您需要一行一行地编写。解释器的工作方式是解释你输入的每一行。不多也不少。它只会在看到换行符时“采取行动”,因此告诉解释器执行您给它的内容。单个反斜杠将阻止解释器接收换行符(即它不会知道您实际上按下了Enter),但它最终会接收到一个。

当您使用 GNU readline 时,Python 的解释器具有高级功能,例如 Emacs 或 vi 样式的键绑定以在行内导航(例如Ctrl-A)。然而,这些仅在当前行中起作用。历史也在那里,只需尝试按

如果我想一遍又一遍地运行复杂的线路怎么办?

如果您想一次执行多于一行的代码,您可能想使用适当的源文件。

或者,使用Jupyter notebooks,它提供了一种出色的交互式方式来创建带有内置解释器的 Python 代码。您可以像在源代码编辑器中一样编写代码,但您可以选择一起解释哪些行。然后,您可以有选择地仅运行部分代码。最好的方法是尝试看看这是否适合您的工作流程。


小智 10

怎么用;\?分号表示命令结束,反斜杠表示我们将在下一行继续。例如,python在命令行输入进入 Python 解释器,然后

>>> x=0 ;\
... print(x) ;\
... x=4 ;\
... print(x)
Run Code Online (Sandbox Code Playgroud)

应该给出输出

0
4
Run Code Online (Sandbox Code Playgroud)


小智 5

我只是在浏览你得到的答案。我不断地尝试放置不同的符号。我终于得到了正确的语法来编写它。尝试以下操作

print("more string") ; print(3)
Run Code Online (Sandbox Code Playgroud)

这会给你一个结果

more string

3
Run Code Online (Sandbox Code Playgroud)

没有任何错误

我刚刚使用了“;” 让它写在另一行

我希望我的回答可以帮助你