擅长:python、mysql、java
<p>您需要为属性创建同名的Python方法,然后为getter和setter功能使用<code>@property</code>decorator:</p>
<pre><code>class CameraInterface(object):
def __init__(self):
self.recording = False
self._recording_quality = False
def start_recording(self):
# do stuff
self.recording = True
@property
def recording_quality(self):
return self._recording_quality
@recording_quality.setter
def recording_quality(self, value):
if self.recording:
raise Exception("Whoa! You're already recording!")
self._recording_quality = value
</code></pre>
<p>这允许您执行以下操作:</p>
<pre><code>camera = CameraInterface()
camera.recording_quality = HD
camera.start_recording()
camera.recording_quality = SD # Exception!
</code></pre>