python - 返回后功能未结束
问题描述
我有以下函数我无法弄清楚,为什么当条件depth > 0
不再满足时它不会在返回后停止:
depth = 5
def traverse(target, depth):
try:
result = callAddress(target)
inner_transaction_targets = analyseTransaction(result)
traversed_addresses = compileAddresses(compiled_receiver_addresses, inner_transaction_targets)
if depth > 0:
for inner in inner_transaction_targets:
traverse(inner, depth - 1)
print('Starting analysis of child address {} at depth {}.'.format(inner, max_depth))
else:
return traversed_addresses
except:
print('Could not traverse.')
一旦深度达到 0,脚本就跳转到
else:
return traversed_addresses
但是从那里,它不会停止执行,而是跳转到
print('Starting analysis of child address {} at depth {}.'.format(inner,max_depth))
并添加 +1depth
并重新开始for inner in inner_transaction_targets
循环。我在脚本中找不到指定此行为的位置。
解决方案
推荐阅读
- c++ - 用 shared_ptr 替换 new/delete?
- linux - Ubuntu Linux中是否存在可以使子线程直接读取主线程的cmd参数的系统调用?
- assembly - 为什么使用汇编级语言?和汇编?
- perl - 为 Pushover API 发送帖子时出现“无效参数”消息
- audio - BM20 - 设置为主并将耳机连接到它们
- javascript - 使用 FileReader 上传图像如何获取文件的高度/宽度?
- c++ - 从 char 向量转换为 short 向量和 float 向量
- html - 无法在 Internet Explorer 上播放音频
- php - php echo循环,无法回显定义中的存储值
- c# - 从遗留类(启动方法 + 事件)创建任务(或 Observable)