如何在Python解释器中编写1行以上的代码?
我有一个在终端中编码Python的问题。我只是在学习基础知识,所以我没有必要创建.py文件。
在终端中,我可以在Python解释器中运行一行代码,但我如何写出多行代码?
很明显,如果我按回车键,就会进入命令,而不会下一行。
我只是想在终端测试以下。
my_age = 35
my_eyes = 'Blue'
print "my age is %d and my eye color is %s" % (my_age, my_eyes)
我有一个在终端中编码Python的问题。我只是在学习基础知识,所以我没有必要创建.py文件。
在终端中,我可以在Python解释器中运行一行代码,但我如何写出多行代码?
很明显,如果我按回车键,就会进入命令,而不会下一行。
我只是想在终端测试以下。
my_age = 35
my_eyes = 'Blue'
print "my age is %d and my eye color is %s" % (my_age, my_eyes)
技巧是- 类似于你在bash
中的操作,例如-添加一个尾部反斜杠。例如,如果我想打印一个1
。
charon:~ werner$ python
>>> print 1
1
>>> print \
... 1
1
>>>
如果你写了一个##添加一个尾部反斜杠(
##添加一个尾部反斜杠()
技巧是- 类似于你在bash
中的操作,例如-添加一个尾部反斜杠。例如,如果我想打印一个1
。
charon:~ werner$ python
>>> print 1
1
>>> print \
... 1
1
>>>
如果你写了一个,Python会提示你用...
(延续行)在下一行输入代码,可以这么说。
附注:当你创建一个函数或类定义时,会自动发生这种情况,也就是说,当你真正_需要新行的时候,所以从来没有一个真正好的用法,或者至少我所知道的没有。换句话说,Python 足够聪明,当你输入一个新的函数定义或其他类似的构造时,你需要延续行 (例如 if:
)。在这些自动的情况下,请注意,您需要使用 ##添加一个尾部反斜杠(
##添加一个尾部反斜杠()
技巧是- 类似于你在bash
中的操作,例如-添加一个尾部反斜杠。例如,如果我想打印一个1
。
charon:~ werner$ python
>>> print 1
1
>>> print \
... 1
1
>>>
如果你写了一个##添加一个尾部反斜杠(
##添加一个尾部反斜杠()
技巧是- 类似于你在bash
中的操作,例如-添加一个尾部反斜杠。例如,如果我想打印一个1
。
charon:~ werner$ python
>>> print 1
1
>>> print \
... 1
1
>>>
如果你写了一个,Python会提示你用...
(延续行)在下一行输入代码,可以这么说。
附注:当你创建一个函数或类定义时,会自动发生这种情况,也就是说,当你真正_需要新行的时候,所以从来没有一个真正好的用法,或者至少我所知道的没有。换句话说,Python 足够聪明,当你输入一个新的函数定义或其他类似的构造时,你需要延续行 (例如 if:
)。在这些自动的情况下,请注意,您需要使用 输入一个空行来告诉 Python 您已经完成了。
对于其它的情况,你需要一行接一行地写。解释器的工作方式是,它,嗯,解释你输入的每一行。不会多,也不会少。只有当它看到一个新行时,它才会 “行动",因此告诉解释器执行你给它的内容。单个反斜线会阻止解释器接收到换行符 (即它不知道您确实按了 Enter),但它最终会接收到一个。
Python 的解释器有 高级功能 当你使用 GNU readline,比如 Emacs 或 vi-style 键绑定来在行内导航 (比如 Ctrl-A)。然而,这些功能只在当前行中工作。历史记录也在那里,只要试着按↑键就可以了。
如果你想一次执行多行代码,你可能需要使用适当的源文件。
或者,使用 Jupyter 笔记本 ,它提供了一种很好的、交互式的方式,通过内置的解释器来创建 Python 代码。您可以像在源代码编辑器中一样编写代码,但您可以选择哪些行一起被解释。然后你可以有选择地只运行部分代码。最好的方法就是尝试一下,看看是否适合你的工作流程。
简单的说,如果你想学习,想运行不止一行,你就把它写进一个.py文件。
当你快速想运行一系列命令时,尾部反斜线方法很好,但当你在学习时,它没有帮助。
你将能够更好地开发代码,编辑单个命令而不用担心拼写错误,如果你把代码片段写进一个小文件,你会发现它们是有用的,就可以重复使用。
我只是通过你得到的答案.我一直在试验,通过放入不同的符号.我终于得到了正确的语法来写它.尝试以下
print("more string") ; print(3)
这将给你一个结果
more string
3
没有任何错误
我只是用’;‘使它写在另一行
我希望我的答案可能会帮助你。
我刚刚在我的 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
>>>
(我想说的是,尽管它不能回答你的问题,但如果你写的代码足够复杂,你应该写脚本。也许在你发布问题后的一年半时间里,你已经开始这样做了)。)
离开shell,打开一个新的编辑器文件即可。即进入文件,打开新文件。想写多少行代码就写多少行。
在输入下一条命令之前,一定要按 “tab "键。这样你可以继续写多少条命令。所以当你写完第二行代码后按回车键时,解释器会让你输入第三行代码……就像下面Fibonacci的例子(来自教程):
a,b=0,1 while b<10: … print(b) # 如果你在点后立即输入print命令,并在最后按回车键,你会得到一个缩进错误。相反,在三个点后按tab键,然后写下你的代码并按回车键,它会让你输入第三行代码,以此类推。看下面的例子(来自教程):
a,b=0,1 # 跟着回车键,而b<10: # 跟着回车键 … print(b) # 跟着回车键,注意三个点后面的制表符 … a,b=b,a+b # 跟着回车键 …回车键 # 没有更多的命令来输入
你会看到上面的程序的结果