迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python Lambda 闭包

作者:迹忆客 最近更新:2023/06/13 浏览次数:

lambda 函数是在没有名称的情况下定义的。 它在 Python 中也被称为匿名函数。

我们使用 def 关键字在 Python 中定义常规函数,而 lambda 关键字用于定义 lambda 函数。

本篇文章将介绍在 Python 中使用 lambda 函数和闭包。


在 Python 中使用 Lambda 函数的语法

Python 中 lambda 函数的语法是:

lambda arguments : expression

一个 lambda 函数只能有多个参数,但只能有一个表达式。 它计算表达式并返回结果。


在 Python 中使用 Lambda 函数

以下示例将给定值加 5 并打印结果。

total = lambda a: a+5
print(total(10))

输出:

15

添加多个参数并返回结果。

total = lambda a,b,c: a+b+c
print(total(10,15,20))

输出:

45

在上面的例子中,lambda a,b,c: a+b+c 是一个 lambda 函数,其中 a,b,c 是参数,a+b+c 是一个表达式。 计算表达式并显示在输出中。

lambda 函数没有名称,并分配给变量 total。

这一行:

total = lambda a,b,c: a+b+c

它等同于:

def total(a,b,c):
    return a+b+c

在 Python 中使用闭包函数

在学习闭包之前,你必须先了解Python的嵌套函数和非局部变量的概念。

嵌套函数在另一个函数内部定义,并且可以访问封闭范围的变量。

此类非局部变量只能在其作用域内访问,而不能在 Python 的作用域外访问。

以下示例显示了访问非局部变量的嵌套函数。

def outerFunc(txt): # outer enclosing function

    def innerFunc():  # nested function
        print(txt)

    innerFunc()

outerFunc("Hello World")

输出:

Hello World

如您所见,嵌套函数 innerFunc 访问了封闭函数 outerFunc 的非局部变量 txt。

闭包是一个函数对象,它可以记住封闭范围内的值,即使它们超出范围。

def outerFunc(txt): # outer enclosing function

    def innerFunc():  # nested function
        print(txt)

    return innerFunc

myFunc = outerFunc("Hello World")
myFunc()

输出:

Hello World

在此示例中,嵌套函数返回 innerfunc() 函数而不是调用它。 outerFunc() 函数使用文本 Hello World 调用并分配给变量 myFunc。

并且在调用 myFunc() 时,该值在作用域外被记住。

如果删除原始函数,封闭范围内的值仍将被记住。

del outerFunc
myFunc()

输出:

Hello World

下面是在Python中使用lambda函数和闭包的简单演示。

def sum(x):

    def total():
        calc = lambda x: x+5
        print(calc(x))
    return total
myFunc = sum(5)
myFunc()

输出:

10

现在你应该知道如何在 Python 中使用 lambda 函数和闭包了。 我们希望您觉得本篇文章对您有所帮助。

上一篇:Python 中的最长公共子序列

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的最长公共子序列

发布时间:2023/06/02 浏览次数:147 分类:Python

本篇文章讲介绍在 Python 中查找两个序列之间最长公共子序列的长度。使用 Naive 方法在 Python 中查找最长公共子序列;使用动态规划在 Python 中查找最长公共子序列

在 Python 请求中使用 Cookie

发布时间:2023/06/02 浏览次数:98 分类:Python

本篇文章介绍如何使用 requests.get() 借助 Python 中的 cookies 参数获取 cookies,以及如何访问需要登录的特定网页。

在 Python 中设置请求的最大重试次数

发布时间:2023/06/02 浏览次数:67 分类:Python

本教程描述了为什么我们会收到错误消息,指出超出了最大重试次数,以及我们如何在 Python 中为请求设置 max_retries。 如果服务器上的负载导致此错误,它还会为我们提供提示。

在 Python 中使用requests模块发布表单数据

发布时间:2023/06/02 浏览次数:184 分类:Python

本篇文章介绍了 Python requests 模块,并说明了我们如何使用该模块在 Python 中发布表单数据。使用 requests 模块在 Python 中发布表单数据

在 Python 中使用令牌进行 API 调用

发布时间:2023/06/02 浏览次数:149 分类:Python

在 Python 中进行不带令牌的 API 调用 要启动,我们需要先安装一个 Python 库来处理这个请求; 当我们在 Python 中调用 API 时,我们可以使用令牌来调用

在 Python 中使用请求设置用户代理 User-Agent

发布时间:2023/06/02 浏览次数:176 分类:Python

本文介绍 HTTP 标头用户代理主题以及如何使用 Python 中的请求设置用户代理。 您将了解 HTTP 标头及其在理解用户代理、获取用户代理以及学习使用 Python 中的请求设置用户代理的多种方法方面的

Python 忽略请求中的 SSL 安全证书检查

发布时间:2023/06/02 浏览次数:132 分类:Python

本文将提供多种使用请求禁用安全证书检查的方法。了解 SSL 安全检查背后的原因及其失败的原因 如果程序使用 Python 请求从 SSL 证书已过期的 URL 获取请求,它会引发两个异常。

Python 请求分页

发布时间:2023/06/02 浏览次数:180 分类:Python

在本文中,我们将了解分页以及如何克服 Python 中与分页相关的问题。 读完本文后,我们将能够了解 Python 分页以及如何使用它处理问题。什么是 Python 中的分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便