
>>> x = 5 >>> y = 3 >>> print(x+y) 8 >>> s1 = str(x) >>> s2 = str(y) >>> print(s1 + s2) 53
old_montyну то что вы написали я понимаю , а на счёт методов перегрузки операторов в класам по такой же схеме всё работает?
Элементарно, Ватсон
nubbУ меня в примере оператор + тоже ведь перегружен для каждого класса. Для экземпляров класса int он выполняет сложение чисел, а для экземпляров класса str он выполняет уже другое действие - конкатенацию (сцепление) строк. Правда, классы int и str являются встроенными, и перегрузку оператора + в каждом из них не требуется делать самостоятельно - эта работа уже сделана за нас. Но если вы проектируете свой собственный уникальный класс, и для этого класса вам необходима перегрузка операторов, то придется это сделать самому. Об этом лучше прочитать в книге Марка Лутца.
ну то что вы написали я понимаю , а на счёт методов перегрузки операторов в класам по такой же схеме всё работает?
class superClass(object): pass print superClass() >>> <__console__.superClass instance at 0x3944cb0> class superClass(object): def __repr__(self): return u"Супер класс!" print superClass() >>> Супер класс!
nubbПерегрузка функции - это использование одного имени функции для вызова разных функций. То, какая функция будет выполняться при каждом конкретном вызове, зависит от передаваемых аргументов (сигнатуры функции).
Может ли кто ни-будь обяснить мне на человеческом языке, что такое перегрузка операторов