将Python二元运算符视为值

时间:2017-03-14 21:38:28

标签: python

这必须是常见问题解答,但我花了五分钟搜索,但无法找到它。在Python中,如何获取与二元运算符对应的值?

更具体;这是一个适用于8和9的功能:

def apply_to_8_and_9(fun):
  return fun(8,9)

现在,假设我要传递<适用于8-and-9的功能。我可以这样做:

apply_to_8_and_9(lambda a,b: a < b)

...但我真的不需要eta扩展<运营商。有没有办法避免这种情况?

谢谢!

1 个答案:

答案 0 :(得分:2)

使用operator模块。 <特别是operator.lt

>>> import operator
>>> help(operator.lt)
Help on built-in function lt in module _operator:

lt(...)
    lt(a, b) -- Same as a<b.