>> s1 = {1, 2, 3} >>> s2 = {10, 20, 30} >>> s1 or s2 {1, 2, -6ren">
gpt4 book ai didi

python - 为什么 "or"和 "|"运算符共享相同的 "__or__"魔术方法?

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:41 25 4
gpt4 key购买 nike

我知道 |or 运算符在 python 中具有不同的含义和行为。例如:

>>> s1 = {1, 2, 3}
>>> s2 = {10, 20, 30}
>>> s1 or s2
{1, 2, 3}
>>> s1 | s2
{1, 2, 3, 20, 10, 30}

但是两个运算符共享相同的 __or____ror__ 魔术方法。为什么?

最佳答案

因为 or 短路,没有那个运算符的魔法钩子(Hook)方法。这同样适用于

换句话说,__or____ror____ior__ 仅用于按位|。类似地,__and____rand____iand__ 仅用于按位&

关于python - 为什么 "or"和 "|"运算符共享相同的 "__or__"魔术方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26719977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com