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

我认为这可能无法完成,但我想我会问!

最佳答案

否。Python中唯一允许的运算符重载是更改现有运算符的运行时语义。语法<MyObj1 | MyObj2 >涉及使<>成为一元运算符(一个前缀,一个后缀),或者使它们都成为单个“ circumfix”运算符。由于它们当前都是二进制中缀运算符,因此无法进行此类更改。

关于python - Python中的重载尖括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28110884/

10-17 02:29