我在终端中编码Python时遇到问题。我只是在学习基础知识,因此无需创建.py文件。
在终端中,我可以在Python解释器中运行一行代码,但是如何编写多行代码呢?
显然,如果我按下Enter键,它将输入命令并且不会向下一行。
我只想在终端中测试以下内容:
my_age = 35
my_eyes = 'Blue'
print "my age is %d and my eye color is %s" % (my_age, my_eyes)
我在终端中编码Python时遇到问题。我只是在学习基础知识,因此无需创建.py文件。
在终端中,我可以在Python解释器中运行一行代码,但是如何编写多行代码呢?
显然,如果我按下Enter键,它将输入命令并且不会向下一行。
我只想在终端中测试以下内容:
my_age = 35
my_eyes = 'Blue'
print "my age is %d and my eye color is %s" % (my_age, my_eyes)
Answers:
\
)诀窍是- bash
例如,您将在-中添加一个反斜杠。例如,如果我想打印一个1
:
charon:~ werner$ python
>>> print 1
1
>>> print \
... 1
1
>>>
如果您编写\
,Python会提示您...
(续行)在下一行输入代码,可以这么说。
旁注:这是在创建函数或类定义时自动发生的情况,即您确实需要换行的时间,因此,从来没有真正好的用处,或者至少我所不知道的用处。换句话说,Python足够聪明,可以知道在输入新函数定义或其他类似构造(例如if:
)时需要换行。在这些自动情况下,请注意,您需要输入一个空行\
以告知Python您已完成操作。
对于其他所有内容,您需要写一行一行。解释器的工作方式是,它会解释您提供给它的每一行。不多不少。它只会在看到换行符时“起作用”,因此告诉解释器执行您给它的内容。单个反斜杠将阻止解释器接收换行符(即,它不会知道您实际上按了Enter),但最终将收到一个换行符。
当您使用GNU readline时,Python的解释器具有高级功能,例如Emacs或vi样式的键绑定在一行中导航(例如Ctrl-A)。但是,这些仅在当前行中起作用。历史也在那里,只需按↑。
如果您想一次执行多行代码,则可能要使用适当的源文件。
或者,使用Jupyter笔记本,该笔记本提供了一种出色的交互式方式,可以使用内置解释器创建Python代码。您可以像在源代码编辑器中一样编写代码,但是可以选择一起解释哪些行。然后,您可以选择性地仅运行部分代码。最好的方法是尝试看看是否适合您的工作流程。
简而言之,如果您想学习并想运行多行,可以将其写入.py文件。
当您快速想运行一系列命令时,尾部反斜杠方法很好,但是学习时却无济于事。
您将能够更好地开发代码,编辑单个命令而不必担心拼写错误,并且如果您将代码段写入一个小文件,则可以重用您认为有用的代码段。
我只是在shell提示符下输入了以下内容,效果很好:
$ python
Python 2.7.3 (default, Aug 1 2012, 05:16:07)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> my_age = 35
>>> my_eyes = 'Blue'
>>> print "my age is %d and my eye color is %s" % (my_age, my_eyes)
my age is 35 and my eye color is Blue
>>>
在交互式Python解释器中键入多行代码的方法是在交互式Python解释器中键入多行代码。我认为这足以满足您的目的。
的确,每行之后都会出现一个新的提示,这意味着如果您的两行代码产生输出,则该输出将由提示分隔。我想这就是您所关心的,尽管您的问题中的示例并没有建议:
$ python
Python 2.7.3 (default, Aug 1 2012, 05:16:07)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "first line"
first line
>>> print "second line"
second line
>>>
如果这是一个问题,则可以将多个语句括在(适当缩进!)if
语句中:
$ python
Python 2.7.3 (default, Aug 1 2012, 05:16:07)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> if 1:
... print "first line"
... print "second line"
...
first line
second line
>>>
(我建议,即使它不能回答您的问题,如果您编写的代码足够复杂,那么您应该编写脚本。也许您已经在一年半的时间里开始这样做了。自从您发布了问题。)
只需离开外壳并打开一个新的编辑器文件即可。即去文件并打开新文件。编写任意多行代码。
在输入下一个命令之前,请确保在三个点处按下“ Tab”键。您可以继续以这种方式编写尽可能多的命令。因此,在编写第二行代码后按回车键时,解释器允许您输入第三行代码...就像下面的Fibonacci示例(来自教程):
a,b = 0,1,而b <10:... print(b)#如果您在点后立即输入打印命令,然后按回车键,则u会出现缩进错误。而是点击三个点后的标签,然后编写代码并按Enter键,这将使您输入第三行代码,依此类推。看下面的例子(来自教程):
a,b = 0,1#在b <10时按Enter键,然后按Enter键... print(b)#在按Enter键后。请注意三个点后面的选项卡... a,b = b,a + b#之后按Enter键... Enter键#没有更多命令可输入
您将看到上述程序的结果