python中用类的私有方法、求球心距
时间: 2024-05-01 14:20:23 浏览: 51
在 Python 中,可以通过在方法名前加上双下划线来定义一个私有方法。私有方法只能在类的内部被调用,不能在类的外部被直接调用。
下面是一个求球心距的例子,其中包含一个私有方法 `_distance`:
```python
import math
class Sphere:
def __init__(self, x1, y1, z1, x2, y2, z2):
self.x1 = x1
self.y1 = y1
self.z1 = z1
self.x2 = x2
self.y2 = y2
self.z2 = z2
def center_distance(self):
return self._distance(self.x1, self.y1, self.z1, self.x2, self.y2, self.z2)
def _distance(self, x1, y1, z1, x2, y2, z2):
dx = x2 - x1
dy = y2 - y1
dz = z2 - z1
return math.sqrt(dx**2 + dy**2 + dz**2)
sphere = Sphere(0, 0, 0, 1, 1, 1)
print(sphere.center_distance()) # 输出 1.7320508075688772
```
在上面的代码中,`_distance` 方法被定义为私有方法,它只能被 `Sphere` 类的其他方法调用,不能在类的外部直接调用。`center_distance` 方法调用了私有方法 `_distance` 来计算球心距。
阅读全文