lambda在这个python代码中做了什么?

lambda在这个python代码中做了什么?,python,Python,我试图真正理解python这一行中发生了什么,以便让它将传入数据拉入字符串,而不是将其写入输出文件 ftp.retrlines("RETR " + filename, lambda s, w=outfile.write: w(s+"\n")) 它看起来像是在获取一个命令和一个回调——但是还有一个额外的第三个参数。它在干什么 另外,我理解这里解释的lambdas(看起来非常类似于javascript匿名函数回调),但不知道如何将其应用到本例中,其中lamda s在第二个参数中定义 在这段pyth

我试图真正理解python这一行中发生了什么,以便让它将传入数据拉入字符串,而不是将其写入输出文件

ftp.retrlines("RETR " + filename, lambda s, w=outfile.write: w(s+"\n"))
它看起来像是在获取一个命令和一个回调——但是还有一个额外的第三个参数。它在干什么

另外,我理解这里解释的lambdas(看起来非常类似于javascript匿名函数回调),但不知道如何将其应用到本例中,其中lamda s在第二个参数中定义


在这段python代码中发生了太多不相似的事情。有人能解释一下这行发生了什么。

不,
retrlines
函数没有可选的第三个参数,而是lambda的可选第二个参数

retrlines
函数传递两个参数:

"RETR " + filename

lambda s, w=outfile.write: w(s+"\n")