我很好奇lambda函数和常规函数(用def定义)之间的区别 – 在 python级别. (我知道程序员和使用每个程序员的区别是什么.) def a(): return 1 b = lambda: 1 afunction a at 0x0000000004036F98 bfunction lambda at
>>> def a(): return 1 >>> b = lambda: 1 >>> a <function a at 0x0000000004036F98> >>> b <function <lambda> at 0x0000000004031588>
我们可以看到 – python知道b是lambda函数而a是常规函数.这是为什么?他们和python有什么区别?
它们是相同的类型,因此它们以相同的方式处理:>>> type(a) <type 'function'> >>> type(b) <type 'function'>
Python也知道b被定义为lambda函数,并将其设置为函数名:
>>> a.func_name 'a' >>> b.func_name '<lambda>'
换句话说,它会影响函数的名称,但就Python而言,两者都是函数,这意味着它们可以以相同的方式使用.请参阅下面的mgilson评论,了解有关酸洗的函数和lambda函数之间的重要区别.