仅限 Python 属性设置器

Skh*_*haz 2 python

我有一个带有属性装饰器的课程。

class Dispatcher:
    def __init__(self, url):
        self._session = None

    @property
    def session(self):
        return self._session

    @session.setter
    def session(self, value):
        self._session = value
Run Code Online (Sandbox Code Playgroud)

但我不需要getter,我可以只拥有财产setter吗?

这更多的是一种好奇心。

Ser*_*sta 5

恕我直言,最简单的方法是

class Dispatcher:
    def __init__(self, url):
        self._session = None

    def _set_session(self, value):
        self._session = value

    session = property(fset=_set_session)
Run Code Online (Sandbox Code Playgroud)

演示:

>>> d = Dispatcher('a')
>>> d.session = 1
>>> d._session
1
>>> d.session
Traceback (most recent call last):
  File "<pyshell#81>", line 1, in <module>
    d.session
AttributeError: unreadable attribute
Run Code Online (Sandbox Code Playgroud)