繁体   English   中英

lambda在此python代码中做什么?

[英]What is lambda doing in this python code?

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

ftp.retrlines("RETR " + filename, lambda s, w=outfile.write: w(s+"\n"))

看起来retrlines正在获取命令和回调-但随后还有一个附加的第3个参数。 到底在做什么

另外,我理解这里解释的lambda(看起来与javascript匿名函数回调非常相似),但是看不到如何将其应用于这种情况,因为在第二个参数中定义了lamda。 为什么Python lambda有用?

在此python代码中发生了太多不熟悉的事情。 有人可以解释这行发生了什么。

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

retrlines函数通过两个参数传递:

"RETR " + filename

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM