gpt4 book ai didi

python - Python 中的 __add__ 方法和负数

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:01 25 4
gpt4 key购买 nike

我一直认为在 Python (3.5) 中使用“+”运算符会在后台调用 __add__ 方法并返回总和。但是,当涉及负数时,我注意到一些古怪的行为。当然,

>>>-3 + 7

返回 4

但是(!)

>>>-3 .__add__(7)

返回 -10 和

>>>-3 .__add__(-7)
4
>>>3 .__add__(7)
10

如果对象已签名,__add__ 是否会对参数签名?另外,该方法有哪些变化,以便当我使用“+”时,会出现“正确”的值?

最佳答案

- 也是一个运算符,一个一元运算符。您在 3 上调用了 __add__,而不是在 - 应用于 3 的结果上,因为 attribute access binds more tightly than the - operator .

使用括号:

>>> (-3).__add__(7)
4

您的代码将 - 一元运算符应用于 3 + 7 的结果。

关于python - Python 中的 __add__ 方法和负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35624449/

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