为什么';T2.\uuuuuuuuuuuu3)在Python中工作?

为什么';T2.\uuuuuuuuuuuu3)在Python中工作?,python,methods,int,syntax-error,Python,Methods,Int,Syntax Error,整数2有一个\uuuu添加\uuuu方法: >>> "__add__" in dir(2) True 。。。但称之为SyntaxerError会引发: >>> 2.__add__(3) File "<stdin>", line 1 2.__add__(3) ^ SyntaxError: invalid syntax >>>2.添加(3) 文件“”,第1行 2.添加(3) ^ SyntaxError:无效语法

整数
2
有一个
\uuuu添加\uuuu
方法:

>>> "__add__" in dir(2)
True
。。。但称之为SyntaxerError会引发:

>>> 2.__add__(3)
  File "<stdin>", line 1
    2.__add__(3)
            ^
SyntaxError: invalid syntax
>>>2.添加(3)
文件“”,第1行
2.添加(3)
^
SyntaxError:无效语法

为什么我不能使用
\uuu add\uu
方法?

2.
被解析为浮点,因此
2.\uu add\uu
是一个语法错误

你可以评估

(2)。\uuu添加\uuuu(3)



2.
被解析为浮点,因此
2.\uuuu add\uuuu
是一个语法错误

你可以评估

(2)。\uuu添加\uuuu(3)



另一种将
2.
解析为浮点的方法是在
2
之间插入空格

>>> 2 .__add__(3)
5

另一种将
2.
解析为浮点的方法是在
2
之间插入空格

>>> 2 .__add__(3)
5

这个主题的变体是这里比较常见的问题。这很有趣,虽然我真的看不出有什么理由你想这样做,而不是仅仅做
2+3
@mgilson:
(2)。\uuuu add\uuu
可以作为一个“add by two”函数,而不是
lambda x:x+2
@unutbu——很有趣。我想这将是一个聪明的(不太容易阅读?)方法来做到这一点。。。这是一个很好的观点。我想我将来会留意的@unutbu:我宁愿使用
functools.partial(operator.add,2)
@MartijnPieters:你是根据什么做出这个选择的?这个主题的变体是这里比较常见的问题。这很有趣,虽然我真的看不出有什么理由你想这样做,而不是仅仅做
2+3
@mgilson:
(2)。\uuuu add\uuu
可以作为一个“add by two”函数,而不是
lambda x:x+2
@unutbu——很有趣。我想这将是一个聪明的(不太容易阅读?)方法来做到这一点。。。这是一个很好的观点。我想我将来会留意的@联合国大学:我宁愿使用
functools.partial(operator.add,2)
@MartijnPieters:你是基于什么做出这个选择的?