Каковы преимущества/недостатки использования класса Class() или self .__ __() для создания нового объекта внутри класса? Один из способов, как правило, предпочтительнее другого?Класс() vs self .__ класс __() при создании объекта?
Вот надуманный пример того, о чем я говорю.
class Foo(object):
def __init__(self, a):
self.a = a
def __add__(self, other):
return Foo(self.a + other.a)
def __str__(self):
return str(self.a)
def add1(self, b):
return self + Foo(b)
def add2(self, b):
return self + self.__class__(b)
Ах. В этом есть смысл. – Ben
Отличный ответ! Быстрый тоже +1. Кстати, милая шляпа! – aIKid
@aIKid - Я думаю, что шляпы StackOverflow - одна из моих любимых вещей о Рождестве. Это как-то забавно, хотя ... Мне никогда не трудно решить, какую одежду носить в реальной жизни - шляпы с переполнением стека - это совсем другое дело ... – mgilson