Очень часто я обнаруживаю, что кодирую тривиальные типы данных, такие как
def Pruefer:
def __init__(self, ident, maxNum=float('inf'), name=""):
self.ident = ident
self.maxNum = maxNum
self.name = name
Хотя это очень полезно (ясно, что я не хочу заменять вышеприведенное анонимным 3-кортежем), оно также очень типично.
Теперь, например, когда я хочу использовать класс в dict, я должен добавить больше шаблонов, как
def __hash__(self):
return hash(self.ident, self.maxNum, self.name)
Я признаю, что может быть трудно распознать общую закономерность среди всех моих шаблонных классов, но тем не менее я хотел бы ответить на этот вопрос:
-
Существуют ли в Python идиомы для быстрого и грязного получения типов данных с именованными аксессорами?
-
Или, может быть, если нет, может быть, гуру Python, возможно, захочет показать какой-нибудь взлом метакласса или фабрику классов, чтобы облегчить мою жизнь?