python重载运算符之左add右add(radd)

有些事情让我不安, 比如运算符重载。 我决定不支持运算符重载, 这完全是个人选择, 因为我见过太多 C++ 程序员滥用它。 ——James Gosling Java 之父

之前collections,流畅python其实也有很多运算符重载的我就不再详细写了,记录俩比较特殊的吧

 

x 和 +x 何时不相等 每个人都觉得 x == +x, 而且在 Python 中, 几乎所有情况下都是 这样。 但是, 我在标准库中找到两例 x != +x 的情况。 第一例与 decimal.Decimal 类有关。 如果 x 是 Decimal 实例, 在 算术运算的上下文中创建, 然后在不同的上下文中计算 +x, 那么 x != +x。 例如, x 所在的上下文使用某个精度, 而计算 +x 时, 精度 变了, 如示例 13-2 所示。

>>> import decimal
>>> ctx = decimal.getcontext()
>>> ctx.prec = 40
>>> one_third = decimal.Decimal('1') / decimal.Decimal('3')
>>> one_third
Decimal('0.3333333333333333333333333333333333333333')
>>> one_third == +one_third
True
>>> ctx.prec = 28
>>> one_third == +one_third
False
>>> +one_third
Decimal('0.3333333333333333333333333333')

重载+运算符

image-20200407111833389

@作为中缀运算符 点积

 

posted on 2020-09-25 13:37  Handso  阅读(467)  评论(0编辑  收藏  举报

导航