当前位置 : 主页 > 编程语言 > python >

lambda和常规函数之间的python有什么区别?

来源:互联网 收集:自由互联 发布时间:2021-06-25
我很好奇lambda函数和常规函数(用def定义)之间的区别 – 在 python级别. (我知道程序员和使用每个程序员的区别是什么.) def a(): return 1 b = lambda: 1 afunction a at 0x0000000004036F98 bfunction lambda at
我很好奇lambda函数和常规函数(用def定义)之间的区别 – 在 python级别. (我知道程序员和使用每个程序员的区别是什么.)

>>> 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函数之间的重要区别.

网友评论