python lambda函数中的导入模块

时间:2019-10-04 09:29:49

标签: python python-3.x lambda

是否可以在python lambda函数中导入模块?例如,我有一个lambda函数,它需要import math

import math
is_na_yes_no = lambda x: 'Yes' if math.isnan(x) else 'No'

如何在lambda函数中包含import math语句?

为澄清起见,我有一种情况需要将一些lambda函数放入配置文件中,并在其他一些python文件中评估该函数,例如:

{
  "is_na_yes_no" = "lambda x: 'Yes' if math.isnan(x) else 'No'"
}

在这种情况下,评估这些lambda函数的python文件需要所有必需的模块。

1 个答案:

答案 0 :(得分:1)

感谢@ L3viathan的答案。

这是同一件事,而无需在模块中import math

is_na_yes_no = lambda x: 'Yes' if __import__('math').isnan(x) else 'No'

它突出了python的灵活性-__import__功能可在lambda函数中使用,而无需事先写出来。