Что касается этого вопроса, меня интересует только создание уникальных методов класса. и недвижимость одновременно. Я не знаю, возможно ли это. Интересно, существует ли динамическая обработка: в зависимости от того, вызывается ли uniques из класса или объекта, мы всегда должны иметь один и тот же результат для одного и того же используемого ввода (здесь это данные).
Код: Выделить всё
class Storage:
def __init__(self, data):
self.data = data
@classmethod
def uniques(cls, data=None):
if data is None:
data = cls.data
return [list(set(item)) for item in data]
Код: Выделить всё
data = [["apple", "banana", "apple"], ["cat", "dog", "dog"], ["red", "blue", "red"]]
print(Storage.uniques(data))
# [["banana", "apple"], ["cat", "dog"], ["blue", "red"]]
########################################
print(Storage(data).uniques())
5 @classmethod
6 def uniques(cls, data=None):
7 if data is None:
----> 8 data = cls.data
9 return [list(set(item)) for item in data]
AttributeError: type object 'Storage' has no attribute 'data'
Подробнее здесь: https://stackoverflow.com/questions/790 ... ass-itself