擅长:python、mysql、java
<p>使用元类方法稍微修改了原始问题的解决方案-希望有帮助:)</p>
<pre><code>import dataclasses
import dataclass_wizard
@dataclasses.dataclass
class FileObject(metaclass=dataclass_wizard.property_wizard):
_uploaded_by: str = dataclasses.field(default=None, init=False)
uploaded_by: str = None
def save(self):
print(self.uploaded_by)
@property
def uploaded_by(self):
return self._uploaded_by
@uploaded_by.setter
def uploaded_by(self, uploaded_by):
print('Setter Called with Value ', uploaded_by)
self._uploaded_by = uploaded_by
p = FileObject()
p.save()
</code></pre>
<p>这将输出(我假设这是期望的行为):</p>
<pre><code>Setter Called with Value None
None
</code></pre>
<hr/>
<p><em>免责声明</em>:我是此库的创建者(和维护者)</p>