迹忆客 专注技术分享

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

在 Python Lambda 中使用 Await

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

异步编程不是多线程或多进程。 相反,它是并发编程,我们可以运行一个可能长时间运行的任务,并允许我们的程序在该任务仍在运行时响应其他任务,而不是等待完成。

对于异步编程,HTTP 请求操作或用户选择可能会花费大量时间,因此,允许其他任务在这些操作仍在执行时运行是明智的。

在 Python 中,要实现异步编程,我们可以将 async/await 特性与函数一起使用,但我们使用 lambda 函数来实现。 本文将讨论在 Python lambda 函数中使用 await 的可能性。


Python Lamda 中没有async/await lambda

要在 Python 中进行异步编程,我们需要一个名为 asyncio 的内置高级包,它使用 async/await 语法来允许并发编程。

要创建异步操作,您可以使用 async 和 await 关键字。

import asyncio

async def main():
    print("Action One")
    await asyncio.sleep(1)
    print("Action Two")

asyncio.run(main())

输出:

Action One
Action Two

我们将 async 关键字应用于 main() 函数,并将 await 关键字应用于 asyncio.sleep() 语句; 但是,我们如何通过 lambda 将其应用于匿名函数? 匿名函数或 lambda 函数是在没有名称的情况下定义的,并使用 lambda 关键字来实现。

假设您想从列表中删除不能被 3 整除的数字。我们可以使用采用另一个函数的 filter() 方法(高阶函数)。

因此,您可以使用 lambda 关键字来使用匿名函数,而不是定义您可能不会再次使用的函数绑定。

myNums = [1, 2, 3, 4, 5, 6, 7]

myNums = list(filter(lambda x: x%3 == 0, myNums))

print(myNums)

输出:

[3, 6]

但是,有没有办法将异步功能添加到 lambda 函数中? 简单回答是不。

Python 的开发人员表示,没有重要的用例可以证明为 lambda 添加异步语法是合理的。

此外,lambda 的命名并不是 lambda 函数的正确用法; 因此,很难将它与 lambda 函数一起使用。 此外,通过 lambda 函数传递异步函数将在同步函数中执行。

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

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便