Python:将“not”作为lambda函数传递

2024-10-01 15:49:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要传递一个函数作为一个参数,作为布尔“not”。我尝试过类似的方法,但是没有成功,因为not不是函数。在

theFunction(callback=not) # Doesn't work :(

我需要执行以下操作,但是我想知道是否有任何预定义的函数可以完成这个简单的工作,这样我就不必像这样重新定义它了:

^{pr2}$

注意:我无法改变这样一个事实:我必须传递这样一个函数,因为它是一个API调用。在


Tags: 方法函数api参数定义callbacknot事实
2条回答

not不是函数,而是关键字。所以这意味着你不能传递一个引用。有很好的理由,因为它允许Python“短路”某些表达式。在

但是,您可以使用operator包的not_(带下划线):

from operator import not_

theFunction(callback=not_, anotherCallback=not_)

是的,有operator模块:https://docs.python.org/3.6/library/operator.html

import operator
theFunction(callback=operator.not_)

相关问题 更多 >

    热门问题