我在课堂上乱搞,我想我可以试着让课堂循环一下
以下是我所做的:
class A():
def __init__(self):
print 1
self.loop()
def loop(self):
print 2
self.__init__()
A()
打印1&;第二次和第四次有一段时间,然后我得到一个错误,开始循环,看起来像这样:
Traceback (most recent call last):
File "C:/Python27/classloop.py", line 12, in <module>
A()
然后它开始将这两个错误循环回第四个错误:
File "C:/Python27/classloop.py", line 4, in __init__
self.loop()
File "C:/Python27/classloop.py", line 9, in loop
self.__init__()
只是想知道为什么这会突然发生为什么它不继续循环
在python中有一个最大的递归限制。 默认值为1000。 您可以通过键入:
在候机楼
如果您想增加它的使用:
每个函数调用都会创建一个堆栈帧,每次返回都会从堆栈中弹出一个帧。这意味着如果递归太深而没有返回,Python将耗尽堆栈空间并抛出异常。您可以增加限制,但大多数情况下,这只会使您的程序在崩溃前运行更长时间,或者更糟的是,Python解释器会损坏其内存并发疯
相关问题 更多 >
编程相关推荐