gpt4 book ai didi

Python 3.2 空闲 : range function - print or list?

转载 作者:太空狗 更新时间:2023-10-29 21:35:34 25 4
gpt4 key购买 nike

我知道这是错误的做法,但我使用的是 python 3,但我是通过 python 2 的书来研究它的。

它说,

>>>range(2,7)

会显示

[2,3,4,5,6]

但我知道它不会显示上面的输出,我想。所以我尝试了:

>>>>print(range(2,7))

ta-da- 它显示如下:

range(2,7)

看起来这是从 P2 到 P3 的变化之一,所以我尝试了:

list(range(2,7))

这个在 IDLE 上可以正常工作,但在记事本上不能正常工作以进行长时间编码。所以最后我尝试了:

print(list(range(2,7)))

它显示的内容与我的意图类似……我做对了吗?只有这样才能写吗?

最佳答案

在 IDLE 情况下,您正在 IDLE 的 PyShell 窗口中运行代码。这是运行交互式解释器。在交互模式下,Python 会立即解释您输入的每一行,并显示通过评估您输入的语句返回的值以及写入标准输出或标准错误的任何内容。对于 Python 2,range() 返回一个列表,正如您发现的那样,在 Python 3 中,它返回一个可迭代的 range() 对象,您可以使用它来创建列表对象或在迭代上下文中的其他地方使用。 Python 3 range()类似于 Python 2 的 xrange() .

当你在像记事本这样的编辑器中编辑一个文件时,你就是在编写一个脚本文件,当你在 Python 解释器中运行该文件时,整个脚本被解释并作为一个单元运行,即使它只有一行.在屏幕上,您只能看到写入标准输出(即“print()”)或标准错误(即错误回溯)的内容;您不会像在交互模式下那样看到每个语句的评估结果。因此,在您的示例中,当从脚本文件运行时,如果您不打印评估某些内容的结果,您将看不到它。

Python 教程对此进行了一些讨论 here .

关于Python 3.2 空闲 : range function - print or list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5398260/

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