>> 1.__add__(2) SyntaxError: invalid syntax 不工作。这是有效的-6ren">
gpt4 book ai didi

Python __add__ 整数魔术方法

转载 作者:行者123 更新时间:2023-11-28 20:54:48 24 4
gpt4 key购买 nike

当我尝试这个时:

>>> "a".__add__("b")
'ab'

它正在工作。但是这个

>>> 1.__add__(2)
SyntaxError: invalid syntax

不工作。这是有效的:

>>> 1 .__add__(2) # notice that space after 1
3

这是怎么回事?它与变量命名规则有关吗?python 是否认为我在不使用空格时尝试创建变量?

最佳答案

Python 解析器有意保持笨拙和简单。当它看到 1. ,它认为你正在处理一个 float ,并且 1._不是一个有效数字(或者更准确地说,1. 是一个有效的 float ,您不能在值后面加上 _:"a" __add__("b") 也是一个错误)。因此,任何清楚表明 . 的东西不是数字的一部分有帮助:正如您发现的那样,在点之前有一个空格(因为在数字中找不到空格,Python 放弃了 float 的想法并使用整数语法)。括号也有帮助:(1).__add__(2) .添加另一个点也是如此:1..__add__(2) (此处,1. 是一个有效数字,然后 .__add__ 执行通常的操作)。

关于Python __add__ 整数魔术方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58912759/

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