Python:参数列表中的 Lambda

标签 python lambda

是否有一个很好的解决方案可以在参数列表中执行类似 lambda 函数的操作?

timeout = None

[...]

 response = self.session.post(
        url=self.baseUrl,
        data=str(data),
        headers=headers,
        timeout=lambda: 0 if self.timeout is None else self.timeout
    )

我知道它会引发异常。但是有没有可能的解决方案来做这样的事情?

谢谢

最佳答案

timeout = None

 response = self.session.post(
        url=self.baseUrl,
        data=str(data),
        headers=headers,
        timeout=(lambda: 0 if self.timeout is None else self.timeout)()
    )

它只是一个与闭包一起工作的内联函数。

关于Python:参数列表中的 Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28409895/

相关文章:

python - 如何在 Django 日志中添加请求 id 而不修改记录器调用?

lambda - 有没有办法在 Racket 中看到 lambda 的主体?

c++ - 使用模板调用运算符和通用 lambda 重载结构 - gcc vs clang

python - Beautiful Soup 无法识别按钮标签

C++ boost::bind/lambda 和 operator bool()

java - JDK8批量采集操作库中奇怪的 "reduce"方法组

c++ - boost 与 vector 成员函数的绑定(bind)

python - 如何找到路径列表中的公共(public)路径?

python - 通过 RESTful API 使用 python 与 MOXA ioLogik1214 进行连接,以将数据放入 DO 端口

python - 尝试对两个相关表进行左外连接