我有一个带有属性装饰器的课程。
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
吗?
这更多的是一种好奇心。
恕我直言,最简单的方法是
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)