gpt4 book ai didi

python - "the interpreter inserts a newline before it prints the next prompt if the last line was not completed."是什么意思

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:46 27 4
gpt4 key购买 nike

我通过阅读 python.org 的 Python 教程来学习 Python。当我读到第三章时:3. An Informal Introduction to Python ,我无法理解文章的最后一句话“如果最后一行未完成,解释器在打印下一个提示之前插入一个换行符”。有人知道这是什么意思吗?如果有例子就更好了。谢谢。

最佳答案

每次您使用以逗号结尾的 print 语句时,解释器都会设置一个标志以记住它没有写一个换行符。

因为将下一个提示与这些数字放在同一行会很不方便(它不会像您期望的那样位于最左边的列),Python 将编写一个换行符以便提示结束再次在左栏中;它使用 print 语句设置的标志来检测这种情况。

所以不要在您的交互式 session 中获取它:

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 >>> 

你看到这个:

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>>

有趣的是,在 Python 3 中不再设置这样的标志,因为 print() 现在是一个函数。结果,交互式解释器无法再检测到这种情况,并将提示放在数字后面:

>>> import sys
>>> sys.version
'3.4.2 (default, Feb 10 2015, 10:25:29) \n[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)]'
>>> a, b = 0, 1
>>> while b < 1000:
... print(b, end=',')
... a, b = b, a+b
...
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,>>>

关于python - "the interpreter inserts a newline before it prints the next prompt if the last line was not completed."是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31672129/

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