2012-01-24 08:58:00 +0000 2012-01-24 08:58:00 +0000
36
36
Advertisement

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

Advertisement

我有一个在终端中编码Python的问题。我只是在学习基础知识,所以我没有必要创建.py文件。

在终端中,我可以在Python解释器中运行一行代码,但我如何写出多行代码?

很明显,如果我按回车键,就会进入命令,而不会下一行。

我只是想在终端测试以下。

my_age = 35
my_eyes = 'Blue'
print "my age is %d and my eye color is %s" % (my_age, my_eyes)
Advertisement
Advertisement

答案 (7)

33
33
33
2012-01-24 09:37:07 +0000

添加一个尾部反斜杠(`##添加一个尾部反斜杠()

技巧是- 类似于你在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 代码。您可以像在源代码编辑器中一样编写代码,但您可以选择哪些行一起被解释。然后你可以有选择地只运行部分代码。最好的方法就是尝试一下,看看是否适合你的工作流程。

8
8
8
2013-07-01 22:22:29 +0000

使用;使用怎么样?分号表示一个命令的结束,反斜线表示我们要继续下一行。例如,在命令行输入python` 进入 Python 解释器,然后

>>> x=0 ;\
... print(x) ;\
... x=4 ;\
... print(x)

应该给出一个

0
4
``` 的输出。
2
Advertisement
2
2
2012-01-24 09:54:25 +0000
Advertisement

简单的说,如果你想学习,想运行不止一行,你就把它写进一个.py文件。

当你快速想运行一系列命令时,尾部反斜线方法很好,但当你在学习时,它没有帮助。

你将能够更好地开发代码,编辑单个命令而不用担心拼写错误,如果你把代码片段写进一个小文件,你会发现它们是有用的,就可以重复使用。

1
1
1
2018-05-01 18:28:49 +0000

我只是通过你得到的答案.我一直在试验,通过放入不同的符号.我终于得到了正确的语法来写它.尝试以下

print("more string") ; print(3)

这将给你一个结果

more string

3

没有任何错误

我只是用’;‘使它写在另一行

我希望我的答案可能会帮助你。

1
Advertisement
1
1
2013-07-01 22:44:47 +0000
Advertisement

我刚刚在我的 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
>>>

(我想说的是,尽管它不能回答你的问题,但如果你写的代码足够复杂,你应该写脚本。也许在你发布问题后的一年半时间里,你已经开始这样做了)。)

0
0
0
2018-08-28 19:51:18 +0000

离开shell,打开一个新的编辑器文件即可。即进入文件,打开新文件。想写多少行代码就写多少行。

-2
Advertisement
-2
-2
2016-05-25 12:12:58 +0000
Advertisement

在输入下一条命令之前,一定要按 “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 # 跟着回车键 …回车键 # 没有更多的命令来输入

你会看到上面的程序的结果

Advertisement

相关问题

13
19
7
3
9
Advertisement
Advertisement