def _(item, body=None, top=False):
new_body = []
if scan(item.body, _ast.Break):
body.extend(transform_break(item))
return True
elif scan(item.body, _ast.Continue):
body.extend(transform_continue(item))
return True
elif _transform(item.body, body=new_body, top=True):
item.body = new_body
body.append(item)
return True
elif not isinstance(item.iter, _ast.Name):
syntax = ast.parse('tmpfor{} = _'.format(randint(0, 2**32))).body[0]
syntax.value = item.iter
item.iter = syntax.targets[0]
body.extend((syntax, item))
return True
elif top:
body.append(item)
return False
评论列表
文章目录