当前位置:  开发笔记 > 编程语言 > 正文

有没有办法在Python中覆盖和运算符?

如何解决《有没有办法在Python中覆盖和运算符?》经验,为你挑选了2个好方法。

我试图重写__and__,但这是&操作,不 -这是我想要的.我可以覆盖



1> dF...:

不,你不能覆盖andor.由于这些在Python中具有的行为(即短路),它们更像是控制流工具而不是操作符,并且覆盖它们更像是重写而if不是+或 - .

可以通过重写__nonzero__(或__bool__在Python 3中)影响对象的真值(即它们是评估为真还是假).



2> Ignacio Vazq..:

你不能覆盖的and,ornot布尔运算符.


值得注意的是,[PEP335](https://www.python.org/dev/peps/pep-0335/)提出了一项提案,并最终被驳回.
推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有