最近在看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來修飾。
我這里的理解肯定是有錯誤的,所以希望得到高手們的解答。
uj5u.com熱心網友回復:
self只是形參,換成其他引數名稱也沒關系比如MessageDialogStyle = property(lambda s1: object(), lambda s2, v: None, lambda s3: None)用lambda是因為property需要接收的輸入引數是函式,如果不用lambda運算式,寫三個函式,把三個函式作為引數傳進去也是可以的
uj5u.com熱心網友回復:
還是不明白 怎么可以寫成lambda s1: object(),他的意思不應該是把當前類的實體作為引數傳入嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/105013.html
下一篇:請大神看下這個正則匹配
