为什么使用while循环更好?

Eth*_*ein 1 python

我正在制作一个程序,它使用一个循环来永远运行,我在下面有一段代码,向您展示我如何实现循环.这只是一个例子,而不是实际的程序.这是同样的想法.

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循环呢?

Sri*_*aju 6

每次递归时,都会将帧上下文推送到程序堆栈中.很快你就会耗尽整个分配的堆栈空间,导致堆栈溢出,没有双关语;)

第二种方法没有这样的缺陷.因此,从它的外观来看,第二种方法比第一种方法更好(除非提出更多的方案).