繁体   English   中英

算术运算符

[英]Arithmetic operators

如您所知,有像+-这样的算术运算符。 有没有办法创建我自己的运算符,可以在两个变量之间执行特定任务?

例如:

a, b = 2, 5
a '+' b == 7

我想做的事:

a 'my own operator' b == some_specific_value

有一个如何模仿自定义中缀运算符的秘诀 它创建一个自定义 class 中Infix并实现__or____ror__方法,然后允许以以下方式编写内容:

add = Infix(lambda x,y: x+y)
result = 1 |add| 2

您的问题已经在这里得到解答: Python:定义我自己的运营商?

对上面所说的内容的一点补充是,如果您定义自定义对象,那么您可以定义运算符在两个相同类型的对象之间的效果:


class Complex:
      def __init__(self,real,immaginary):
            self.real=real
            self.immaginary= immaginary 
      def __add__(var):
            c=Complex(self.real + var.real,self.immaginary +v.immaginary)
            return c

此代码片段是一个常见示例,它创建一个描述复数的 class 并允许您执行Complex_c=Complex_a+Complex_b将复数和存储在Complex_c

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM