Как "достучаться" до аттрибута экземпляра класса через @classmethod?

По условию задачи, требуется написать класс, конструктор которого бы принимал дату строкой в формате 'день-месяц-год', а затем именно через @classmethod метод требуется извлечь дату и преобразовать в число. Я столкнулся с проблемой, на мой взгляд очевидной, что через @classmethod я не могу "достучаться" напрямик до атрибута экземпляра класса. Через геттер тоже не получилось. Получилось только через @property, но меня постигла неудача, т.к. мне необходимо делать определённые преобразования с тем, что возвращает данный метод, а пайтон ругается на то, что у объекта класса property нет возможности сделать эти преобразования.

Заранее благодарю за помощь!

class Data:
    def __init__(self, data: str):
        self._data = data

    @classmethod
    def data_to_int(cls):
        return cls.data.split('-')

    @property
    def data(self):
        return self._data


data = Data('18-10-2004')
print(Data.data_to_int())   #AttributeError: 'property' object has no attribute 'split'
print(data.data_to_int())

Ответы (1 шт):

Автор решения: n1tr0xs

Как вариант:

class MyDate:
    def __init__(self, string):
        self.date = string
    
    @classmethod
    def date_to_int(cls, obj):
        return obj.date.split('-')

a = MyDate('12-21-2001')
print(MyDate.date_to_int(a))
→ Ссылка