[英]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.