这可能是一个愚蠢的问题,但我是编程的新手,我有一个递归函数设置,我试图找出答案。对于Python中的任何打印功能,是否按照在脚本中写入的顺序打印行或者对于较大的输出,是否可以在控制台中首先打印较小长度的输出,即使print语句是后面的代码(可能是由于一些内存滞后)?
示例:
def test_print():
#don't run this, but was meant for scale. Is there any chance the 1 would print before the list of lists?
print([[i for i in range(10000)] for j in range(10000)])
print(1)
答案 0 :(得分:1)
打印语句按照编写代码的顺序将输出堆积到stdout中。从上到下。任何其他方式都不可能,因为这是解释代码的方式。内存延迟在这里没有任何作用,因为控制台的输出是一行,用于将数据的行再现转换为stdout。数据写入其中的顺序无法改变,因此您将保持按时间顺序排列。当然,您可以随时了解打印功能本身的工作原理。但我不建议篡改标准库函数。
答案 1 :(得分:1)
如上所述,print()
函数按照它们在代码中的顺序执行。但是你自己可以改变你想要它执行的顺序,毕竟你有权利指示代码做你想做的任何事情。
答案 2 :(得分:0)
在输出中,您将始终获得与在Python中执行print()
函数的顺序相同的顺序。