Inicialización perezosa de miembros de la clase Python

Me gustaría saber cuál es la forma de Python de inicializar un miembro de la clase, pero solo cuando se accede, si se accede. Probé el código de abajo y está funcionando, pero ¿hay algo más simple que eso?

class MyClass(object):

    _MY_DATA = None

    @staticmethod
    def _retrieve_my_data():
        my_data = ...  # costly database call
        return my_data

    @classmethod
    def get_my_data(cls):
        if cls._MY_DATA is None:
            cls._MY_DATA = MyClass._retrieve_my_data()
        return cls._MY_DATA

Respuestas a la pregunta(5)

Su respuesta a la pregunta