请教lambda在类参数中的使用

ymwlchina 2020-01-03 10:45:23
最近在看python的一些框架源代码发现,在调用类传的参数发现很多lambda修饰的参数,请教高手这边传入的含义。
比如我在WXPython框架的弹出框方法内有
 MessageDialogStyle = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default

我个人一直用普通的lambda表达式理解lambda self: object()就是self为参数传入返回object(),难道真的是object()传入property类中作为参数吗。
lambda self又是在这里表示什么,为啥要用lambda来修饰。
我这里的理解肯定是有错误的,所以希望得到高手们的解答。
...全文
112 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ymwlchina 2020-01-05
  • 打赏
  • 举报
回复
还是不明白 怎么可以写成lambda s1: object(),他的意思不应该是把当前类的实例作为参数传入吗?
冰风漫天 2020-01-04
  • 打赏
  • 举报
回复
self只是形参,换成其他参数名称也没关系比如MessageDialogStyle = property(lambda s1: object(), lambda s2, v: None, lambda s3: None) 用lambda是因为property需要接收的输入参数是函数,如果不用lambda表达式,写三个函数,把三个函数作为参数传进去也是可以的

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧