Python - 是否可以将变量设置为运算符?

标签 python variables operation

我正在开发一组具有相同基本结构的函数——它们采用两个列表并使用循环对这两个列表成对地执行特定操作(例如,一个将把列表中的每个元素提升到第二个列表中相应元素所代表的幂)。

由于所有这些功能仅在运算符上有所不同,我想知道 - 是否可以将变量设置为运算符?例如,您可以这样做(类似于以下内容):

var = +
var2 = 5 var 7       #var2 is now 12

我知道这具体行不通,但有没有类似的东西可以起到类似的作用?

最佳答案

是的!您需要 operator 模块,它“将 Python 的内部运算符公开为高效函数。”

import operator

op = operator.add
var = op(5, 7)

正如@falsetru 指出的那样,lambda 也很方便; operator 中的函数会更快一些,不过:

from timeit import timeit
print timeit("add(5, 7)", "add = lambda x, y: x+y")    # about 0.176 OMM
print timeit("add(5, 7)", "from operator import add")  # about 0.136 OMM

关于Python - 是否可以将变量设置为运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19171969/

相关文章:

objective-c - iOS - 文本字段到 int 变量

Python奇数运算?

python - python中的无环3D矩阵乘法

python - 比较两个数据帧,一个有时间范围,另一个有特定时间

python - 用 Pandas 中的 NaN 比较两列并得到差异

python - 时间数据 'June 13, 1980 (United States)' 与格式 '%m/%d/%Y'(匹配)不匹配

jquery - 我可以在 .on Jquery 中使用变量吗

mysql - 为什么在这个 SQL 语句中使用 @variable 没有产生结果?

recursion - 在方案列表中定义 "reduce"

python - 通过pygame.sndarray播放正弦波时出错