我认为这是一个蟒蛇初学者的问题。
我的目标是将变量(idx
)传递给作为参数给出的函数。
我试图包装函数调用,将变量作为参数传递,但由于某种原因,结果并不像我预期的那样。
以下是代码:
for idx, path in enumerate(paths):
def _mf(t):
return make_frame(t, idx)
clip2 = VideoClip(_mf, False, 10)
此循环将迭代2个项目。两个剪辑将分别调用make_frame函数。 但第二个参数(idx)将永远是" 1"两个剪辑。我不明白这一点。
任何人都可以帮助我吗?感谢
答案 0 :(得分:0)
你可以尝试:
def foo(idx):
return lambda t: make_frame(t, idx)
for idx, path in enumerate(paths):
clip2 = VideoClip(foo(idx), False, 10)