擅长:python、mysql、java
<p>你不能提出一个坏Python的经典例子,然后期望人们对如何处理它有意见。使用getter和setters。在</p>
<pre><code>class MyClass:
def __init__(self):
self._private1 = "Whatever1"
@property
def private1(self):
return self._private1
@private1.setter
def private1(self, value):
self._private1 = value
</code></pre>
<p>使用双下划线名称的旁注可能会令人困惑,因为Python实际上会篡改名称以阻止您从类外部访问它们。这并不能提供真正的安全性,但会带来无尽的麻烦。避免这些麻烦的最简单方法是使用单下划线名称,这基本上是<code>private</code>的通用约定。(嘘)</p>
<hr/>
<p>如果您需要意见,请使用properties=)。如果你想对你的JavaPython怪物有什么看法,我会用setter毕竟,你已经写了它,这就是它的用途!手动设置变量没有明显的好处,但是有几个缺点。在</p>