代码之家  ›  专栏  ›  技术社区  ›  airportyh

有没有办法在Python中重写and运算符?

  •  25
  • airportyh  · 技术社区  · 16 年前

    我试着超越 __and__ -我想要的那个。我可以覆盖吗 ?

    3 回复  |  直到 16 年前
        1
  •  45
  •   Rick SilentGhost    9 年前

    不,你不能覆盖 and or . 与Python中的行为(即短路)相比,它们更像是控制流工具,而不是操作符,重写它们更像是重写 if 大于+或-。

    可以 __nonzero__ (或 __bool__

        2
  •  35
  •   Ignacio Vazquez-Abrams    16 年前

    您不能覆盖 and or not 布尔运算符。

        3
  •  3
  •   S.Lott    16 年前

    不是真的。短路逻辑运算符没有特殊的方法名称。

        4
  •  1
  •   Flying_Squirrel    6 年前

    虽然你不能超载 __and__ 你可以用 infix