У меня есть очень простой общий класс с аргументами ключевого слова только:Можем ли мы иметь другой атрибут __name__ для разных алиасов класса Python?
class genObj(object):
def __init__(self, **kwargs):
for kwa in kwargs:
self.__setattr__(kwa, kwargs[kwa])
Теперь я хочу использовать это для различных объектов, с различными параметрами, используя имя псевдонима, как следующее:
rectangle = genObj
rr = rectangle(width=3, height=1)
circle = genObj
cc = circle(radius=2)
Он работает нормально. Нет проблем. Я хочу, чтобы класс знал, с каким псевдонимом оно используется. Теперь, если я спрошу:
rr.__class__.__name__
>> "genObj"
cc.__class__.__name__
>> "genObj"
То, что я хочу, чтобы получить «прямоугольник» для запроса Р.Р., и «круг» для куб.см запроса. Возможно ли вообще? Как?
ОК, приемлемо. Работа, спасибо. – user2800464