擅长:python、mysql、java
<p>您可以公开访问Point类的<code>x</code>、<code>y</code>和<code>z</code>属性。如果您希望客户机能够对它们进行读写操作,则可以使用<a href="https://docs.python.org/3/library/functions.html#property" rel="nofollow">property</a>。例如:</p>
<pre><code>class Point(object):
def __init__(self, x = 0, y = 0, z = 0, description = 'TBD'):
self.__x = x
self.__y = y
self.__z = z
self.__description = description
@property
def x(self):
return self.__x
@property
def y(self):
return self.__y
@property
def z(self):
return self.__z
...
</code></pre>
<p>然后,您可以访问x、y和z而不使用前导下划线,并且您的距离函数应该可以工作。</p>
<pre><code>>>> p = Point(1, 2, 3, 'Dummy')
>>> p.x
1
>>> p.y
2
>>> p.z
3
>>> p.x = 3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: can't set attribute
</code></pre>