我正在制作一个程序,它使用一个循环来永远运行,我在下面有一段代码,向您展示我如何实现循环.这只是一个例子,而不是实际的程序.这是同样的想法.
import time
def start():
print "hello"
time.sleep(0.2)
start()
start()
Run Code Online (Sandbox Code Playgroud)
我所有的程序员朋友都告诉我不要这样做,而是使用while循环.像这样:
import time
def start():
while True:
print "Hello"
time.sleep(0.2)
start()
Run Code Online (Sandbox Code Playgroud)
当两种方法完美地运行时,为什么我应该使用while循环呢?
每次递归时,都会将帧上下文推送到程序堆栈中.很快你就会耗尽整个分配的堆栈空间,导致堆栈溢出,没有双关语;)
第二种方法没有这样的缺陷.因此,从它的外观来看,第二种方法比第一种方法更好(除非提出更多的方案).