Python中的重载尖括号

时间:2015-01-23 13:21:46

标签: python operator-overloading overloading

非常奇怪的问题但是有可能超载某些括号类型的含义,例如Python中的<, >, [, ] and |。例如,如果我有一些对象实例MyObj1MyObj2,我可以设计一些内容,<MyObj1 | MyObj2 >被理解为MyObj1中的方法调用吗?

我认为它可能不会/不应该完成,但我想我会问!

1 个答案:

答案 0 :(得分:4)

没有。 Python中允许的唯一运算符重载正在改变预先存在的运算符的运行时语义。语法<MyObj1 | MyObj2 >将涉及将<>转换为一元运算符(一个前缀,一个后缀)或将它们都放入单个“外接”运算符中。由于它们目前都是二进制中缀运算符,因此无法进行此类更改。