美文网首页
Python3 - 定义匿名或内联函数

Python3 - 定义匿名或内联函数

作者: 惑也 | 来源:发表于2018-12-24 00:06 被阅读47次

问题

操作创建一个很短的回调函数,但又不想用 def 去写一个单行函数, 而是希望通过某个快捷方式以内联方式来创建这个函数。

解决方案

当一些函数很简单,仅仅只是计算一个表达式的值时,可以使用lambda表达式来实现。比如:

add = lambda x, y: x + y
print(add(1, 3))
4

print(add('Hello', '_Python'))
Hello_Python

使用lambda表达式跟下面定义的函数效果是一样的:

def fun(x, y):
    return x + y

print(fun(1, 3))
4

lambda表达式,典型的使用场景是排序或数据reduce等:

names = ['David Beazley', 'Brian Jones', 'Raymond Hettinger', 'Ned Batchelder']

# 按name的最后一个单词小写后排序
sorted(names, key=lambda name: name.split()[-1].lower())  
print(names)
['David Beazley', 'Brian Jones', 'Raymond Hettinger', 'Ned Batchelder']

讨论

尽管lambda表达式允许定义简单函数,但是它的使用是有限制的。只能指定单个表达式,它的值就是最后的返回值。

相关文章

  • Python3 - 定义匿名或内联函数

    问题 操作创建一个很短的回调函数,但又不想用 def 去写一个单行函数, 而是希望通过某个快捷方式以内联方式来创建...

  • golang函数闭包

    定义 Go 语言支持匿名函数,可作为闭包。匿名函数是一个"内联"语句或表达式。匿名函数的优越性在于可以直接使用函数...

  • python lambda 定义匿名或内联函数

    7.6 不使用def,用简单的方式定义内联函数 如下使用lambda定义简单函数和sorted函数结合使用

  • Python 内置函数补充匿名函数

    Python3 匿名函数 定义一个函数与变量的定义非常相似,对于有名函数,必须通过变量名访问 匿名函数定义:使用 ...

  • Go 语言函数闭包

    Go 语言支持匿名函数,可作为闭包。匿名函数是一个"内联"语句或表达式。 匿名函数的优越性在于可以直接使用函数内的...

  • C# 委托和匿名函数大总结

    一、匿名函数 匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。可以使用匿名函数来初始化...

  • 匿名函数

    Python3 匿名函数定义一个函数与变量的定义非常相似,对于有名函数,必须通过变量名访问 def func(x,...

  • 匿名函数1

    匿名函数 匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无...

  • 17. Python之匿名函数

    1 匿名函数的定义 1.1 def用于定义有名函数 1.2 lambda用于定义匿名函数 2 调用匿名函数 3 匿...

  • 扣丁学堂Python3开发之匿名函数用法示例详解

    今天扣丁学堂Python培训给大家分享关于Python3匿名函数用法,结合实例形式分析了Python3匿名函数的概...

网友评论

      本文标题:Python3 - 定义匿名或内联函数

      本文链接:https://www.haomeiwen.com/subject/htookqtx.html