2016-08-27 11 views
1

整数オブジェクトのメソッド呼び出しの動作を理解したいだけです。整数オブジェクトのPython呼び出しメソッド

__add__メソッドを整数で直接呼び出すことはできません。 num = 5をやって、しかしSyntaxError: invalid syntax

num.__add__(5)が正常に動作します呼び出し:

5.__add__(5) 

これは私を与えます。

整数オブジェクトに名前を割り当てると違いがありますか?

+2

これは、パーサーによってfloat番号と混同される可能性があるためです。代わりに '(5).__ add __(5)'を使用するか、 '5 .__ add __ 5) '。 – Delgan

+0

num = 5はIntegerクラスのインスタンスになり、pythonは整数クラスの魔法メソッド' __add__'を呼び出します。そうでないと、pythonは5または5.0かどうかを知りません –

答えて

1

これは単なる構文です。パーサーは読み:

  • "5." - >フロート:)
  • "__add__" - >なぜそれを?私は理解していません:(
関連する問題