在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ python 中的棧溢出

python 中的棧溢出

在網(wǎng)上看到這么一句話
在Python中,函數(shù)調(diào)用是通過棧(stack)這種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的,每當(dāng)進(jìn)入一個(gè)函數(shù)調(diào)用,棧就會(huì)加一層棧幀,每當(dāng)函數(shù)返回,棧就會(huì)減一層棧幀。由于棧的大小不是無限的,所以,遞歸調(diào)用的次數(shù)過多,會(huì)導(dǎo)致棧溢出。

這里的棧溢出 是遞歸調(diào)用引起的,我想說,那怎么知道棧的大小,來用遞歸調(diào)用的次數(shù)呢?

回答
編輯回答
離殤

可以通過如下方式獲取當(dāng)前python解釋器限制遞歸調(diào)用棧的深度

import sys
max_dept = sys.getrecursionlimit()

你也可以使用sys.setrecursionlimit修改。

但該方式比較危險(xiǎn),慎用。

2017年4月9日 09:18
編輯回答
好難瘦

自己試嘛。

# -*- coding: utf-8 -*-


def a(c):
    raw_input('continue: %s' % c)
    b(c)

def b(c):
    a(c+1)


a(0)
2017年1月14日 03:57