gpt4 book ai didi

python - 在python 3中引用通用对象.__add__

转载 作者:行者123 更新时间:2023-11-30 23:05:30 26 4
gpt4 key购买 nike

我正在编写一个解析器,能够将字符串解析为方程。

当我遇到一个符号(例如 +)时,我需要生成一个接受两个输入并将它们相加的函数。

虽然我可以简单地编写一个 lambda 函数来做到这一点,但为这样的目的编写一个函数似乎很愚蠢,而且我最终会得到一个像这样的 map :

map = {
'+': lambda a,b: a+b,
'-': lambda a,b: a-b,
# More symbols here
}

此外,我正在寻找的功能are already defined in object !这样,我可以做类似的事情:

map = {
'+': object.__add__,
'-': object.__sub__,
# More symbols here
}

但是,当我尝试上面的代码时,我收到一个 type object 'object' has no attribute '__add__' 错误。

如何引用我需要的函数?

最佳答案

您尝试过运算符(operator)模块吗?

import operator
operators = {"+": operator.add}

用法:

>>> operators["+"](10,10)
20

关于python - 在python 3中引用通用对象.__add__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33116523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com