有没有办法测试变量是否包含 lambda
?
上下文是我想在单元测试中检查一个类型:
self.assertEquals(lambda, type(myVar))
type
似乎是“函数”,但我没有看到任何明显的内置类型来匹配它。
显然,我可以写这个,但感觉很笨拙:
self.assertEquals(type(lambda m: m), type(myVar))
最佳答案
这是逾期数年,但 callable(mylambda)
将为任何可调用函数或方法返回 True
,包括 lambda。 hasattr(mylambda, '__call__')
做同样的事情,但不那么优雅。
如果您需要知道某事物是否完全是一个 lambda,那么我会使用:
callable(mylambda) and mylambda.__name__ == "<lambda>"
(此答案与 Python2.7.5 及更高版本相关。)
关于python - 如何测试变量是否包含 lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3655842/