<p>实际上,在你的帖子中,你还可以学到一些与之相关的东西</p>
<p>首先,由于Python3.x,您不需要从<code>object</code>对类进行子类化。它是自动的。见<a href="https://stackoverflow.com/questions/2588628/what-is-the-purpose-of-subclassing-the-class-object-in-python">this thread here</a>(包括一些相关评论)</p>
<p>因此,您可能可以:</p>
<pre><code>class Test:
def __init__(self,value):
self.value = value
def value(self):
return self.value
</code></pre>
<P>如果你真的想要方法^ {< CD2>},可以考虑。在Python中,如果您只需要读取属性值(无需额外处理、无需访问控制、无需任何操作),则无需使用<em>getter</em>方法。直接从实例访问属性将执行以下操作:</p>
<pre><code>obj = Test(42)
value = obj.value
</code></pre>
<p>此外,Python中方法和函数的命名样式应为<code>snake_case</code>,类名称应为<code>CamelCase</code>。有关其他样式,请参见<a href="https://www.python.org/dev/peps/pep-0008/" rel="nofollow noreferrer">PEP8</a></p>
<p>更重要的是,不要指定内置名称,例如<code>dict</code>或<code>list</code>:</p>
<pre><code># do not do this
dict = {}
dict["Tom"] = Test(20)
</code></pre>
<p>要查看应避免使用的其他名称,请在Python shell中执行以下操作:</p>
<pre><code>>>> import builtins
>>> dir(builtins)
</code></pre>
<p>这是因为替换了内置定义,在以后的代码中会感到困惑。在上面的代码中<code>dict</code>是从现在开始在一个特定的dictionary实例对象上,使用<code>dict()</code>创建一个新的dictionary将失败</p>
<p>也许您只是想创建一个具有</p>
<pre><code>tom = Test(20)
print(tom.value)
</code></pre>
<p>或将测试对象(或任何类型的对象)存储在dict中:</p>
<pre><code>people = {}
people["Tom"] = Test(20)
print(people["Tom"].value)
print("Tom" in people)
</code></pre>