Как установить свойство python в __init__

У меня есть класс с атрибутом, который я хочу превратить в свойство, но этот атрибут установлен в__init__, Не уверен, как это должно быть сделано. Без установки свойства в__init__ это легко и хорошо работает

import datetime

class STransaction(object):
    """A statement transaction"""
    def __init__(self):
        self._date = None

    @property
    def date(self):
        return self._date

    @date.setter
    def date(self, value):
        d = datetime.datetime.strptime(value, "%d-%b-%y")
        self._date = d

st = STransaction()
st.date = "20-Jan-10"

Но как только инициализация должна произойти в__init__ это усложняется, и я не уверен в правильности действий.

class STransaction(object):
    """A statement transaction"""
    def __init__(self, date):
        self._date = None

Как ни странно, следующее, кажется, работает, но пахнет очень плохо.

class STransaction(object):
    """A statement transaction"""
    def __init__(self, date):
        self._date = None
        self.date = date

    @property
    def date(self):
        return self._date

    @date.setter
    def date(self, value):
        d = datetime.datetime.strptime(value, "%d-%b-%y")
        self._date = d

Как правильно настроить свойства в__init__?

Спасибо, Аарон.

Ответы на вопрос(2)

Ваш ответ на вопрос