首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中使用运算符进行添加

在Python中使用运算符进行添加
EN

Stack Overflow用户
提问于 2014-12-04 02:19:58
回答 3查看 7.4K关注 0票数 3

考虑一下:

operator.add(a, b)

我很难理解这是做什么用的。运算符类似于+-*/,那么operator.add(a, b)是做什么的,以及如何在程序中使用它?

EN

回答 3

Stack Overflow用户

发布于 2014-12-04 02:24:50

因为operator.add是一个函数,您可以向它传递参数,所以它适用于不能使用像a+d这样的语句的情况,比如mapitertools.imap函数。为了更好地理解,请参阅以下示例:

>>> import operator
>>> from itertools import imap
>>> list(imap(operator.add,[1,3],[5,5]))
[6, 8]
票数 4
EN

Stack Overflow用户

发布于 2014-12-04 02:22:51

它做同样的事情,它只是Python operator module中运算符的一个函数版本。它返回结果,所以你可以这样做:

result = operator.add(a, b)

这在功能上等同于

result = a + b
票数 3
EN

Stack Overflow用户

发布于 2014-12-04 02:24:06

从字面上看,+操作符就是这样定义的。请看下面的示例

class foo():
    def __init__(self, a):
        self.a = a
    def __add__(self, b):
        return self.a + b

>>> x = foo(5)
>>> x + 3
8

+运算符实际上只是调用类的__add__方法

同样的事情也发生在原生Python类型上,

>>> 5 + 3
8
>>> operator.add(5,3)
8

请注意,由于我定义了__add__方法,因此我还可以

>>> operator.add(x, 3)
8
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27278872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档