본문 바로가기
Python

[Python3] class property, setter, to_json

by 혀나Lee 2017. 8. 7.

class 를 사용하여 모델링 하기

python에서는 getter, setter를 만드는 것 보다 property를 사용하는 것이 좋다. propery 와 getter, setter 의 비교는 여기를 참조한다.

class TestModel:
    def __init__(self):
        self._id = None
        self._name = None

    @property
    def id(self):
        return self._id

    @id.setter
    def id(self, id):
        self._id = id

    @property
    def name(self):
        return self._name

    @name.setter
    def name(self, name):
        return self._name

    def to_json(self):
        return json.dumps(
            self, default=lambda o: o.__dict__, sort_keys=True, indent=4)

getter 대신 @property 를 사용하고 setter 대신 param.setter 사용한다.

댓글