为了账号安全,请及时绑定邮箱和手机立即绑定

Python:定义自己的运算符?

Python:定义自己的运算符?

德玛西亚99 2019-10-08 11:14:28
我想定义自己的运算符。python支持这样的事情吗?
查看完整描述

4 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

不,您不能创建新的运算符。但是,如果您只是在评估表达式,则可以自己处理字符串并计算新运算符的结果。


查看完整回答
反对 回复 2019-10-08
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

从技术上讲,您无法在Python中定义新的运算符,但这种巧妙的技巧可解决此限制。它允许您定义像这样的中缀运算符:


# simple multiplication

x=Infix(lambda x,y: x*y)

print 2 |x| 4

# => 8


# class checking

isa=Infix(lambda x,y: x.__class__==y.__class__)

print [1,2,3] |isa| []

print [1,2,3] <<isa>> []

# => True


查看完整回答
反对 回复 2019-10-08
?
皈依舞

TA贡献1851条经验 获得超3个赞

不,Python附带了一组预定义但可重写的运算符。


查看完整回答
反对 回复 2019-10-08
?
大话西游666

TA贡献1817条经验 获得超14个赞

如果打算将操作应用于特定的对象类别,则可以覆盖与您的函数最接近的运算符...例如,覆盖__eq__()将覆盖==运算符以返回所需的任何内容。这几乎适用于所有运营商。


查看完整回答
反对 回复 2019-10-08
  • 4 回答
  • 0 关注
  • 1352 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信