Возможный дубликат:
доступ к методам литералов int python
В Python everything is an object
.
Но опять же, почему не работает следующий фрагмент?
1.__add__(2)
Однако это работает:
n = 1
n.__add__(2)
В чем разница между n
и 1
?
Разве это не сбой дизайна, что он не работает?
Например, он работает с литералами string
.
"one".__add__("two")
Для сравнения, он хорошо работает и на других чисто объектно-ориентированных языках.
Давайте более подробно рассмотрим этот пример компиляции С#:
Console.WriteLine(100.ToString());
И снова, что отличает Python
от C#
в перспективе everything is an object
?