Python 为什么在函数中声明变量要慢得多(对于jupyter笔记本来说太慢了)
我有以下函数,它组合了多个函数,但这是“最终函数” 这很好,“boek”和“vol_boek”在“tellen()之外声明。它速度快,效果好 然而,当我像这样将“boek”和“vol_boek”的声明放在“tellen()”中时,速度非常慢,jupyter笔记本电脑会在一段时间后超时。你能告诉我这是为什么吗?本质上似乎是一样的。有没有办法用set()执行函数?我需要用一个空集启动函数,所以我使用了boek=set() 这是我的代码,里面有声明:Python 为什么在函数中声明变量要慢得多(对于jupyter笔记本来说太慢了),python,function,variables,jupyter-notebook,Python,Function,Variables,Jupyter Notebook,我有以下函数,它组合了多个函数,但这是“最终函数” 这很好,“boek”和“vol_boek”在“tellen()之外声明。它速度快,效果好 然而,当我像这样将“boek”和“vol_boek”的声明放在“tellen()”中时,速度非常慢,jupyter笔记本电脑会在一段时间后超时。你能告诉我这是为什么吗?本质上似乎是一样的。有没有办法用set()执行函数?我需要用一个空集启动函数,所以我使用了boek=set() 这是我的代码,里面有声明: def tellen(): boek =
def tellen():
boek = set()
vol_boek = set(np.arange(10))
aantal_keren = 0
while boek != vol_boek:
plakken()
aantal_keren += 1
print(f"Er waren {aantal_keren} pakjes nodig om het boek te vullen.")
p、 这是我代码的其余部分:
def inhoud_pakje():
pakje = np.random.choice(range(10), 4, replace=False)
return pakje
看起来您只是在plakken中未定义boek时遇到了一个错误,您需要将其作为参数传入
plakken(boek)
你确定这不仅仅是因为
boek
在plakken
中没有定义而出错吗?嘿,谢谢你的回答。我将boek=set()
添加到笔记本的“顶部”,并将boek=set()
添加到“plakken()”。我希望通过这种方式,以一个空的“boek”开始每一次执行plakken。这行不通。jupyter笔记本中的手机一直在运行,我修好了!使用boek.clear()以“空集”开头感谢您的回答!!!
def plakken():
pakje = inhoud_pakje()
for i in pakje:
boek.update(pakje)
return boek
plakken(boek)
def plakken(boek):