複数のdocstringを作成する必要がありますか、それとも1つだけですか(どこに配置する必要がありますか)?
_@property
def x(self):
return 0
@x.setter
def x(self, values):
pass
_
property()
がdoc引数を受け入れることがわかりました。
1)help(MyClass)
が表示するものであり、2) Pythonのドキュメント-x.setterの例を参照 での実行方法でもあるので、ゲッターにdocstringを記述します。
1)について:
class C(object):
@property
def x(self):
"""Get x"""
return getattr(self, '_x', 42)
@x.setter
def x(self, value):
"""Set x"""
self._x = value
その後:
>>> c = C()
>>> help(c)
Help on C in module __main__ object:
class C(__builtin__.object)
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
|
| x
| Get x
>>>
セッターのドキュメント文字列「Set x」は無視されることに注意してください。
したがって、プロパティが表示されるようにするには、getter関数のプロパティ全体(getterおよびsetter)のdocstringを記述する必要があります。適切なプロパティdocstringの例は次のとおりです。
class Serial(object):
@property
def baudrate(self):
"""Get or set the current baudrate. Setting the baudrate to a new value
will reconfigure the serial port automatically.
"""
return self._baudrate
@baudrate.setter
def baudrate(self, value):
if self._baudrate != value:
self._baudrate = value
self._reconfigure_port()