【发布时间】:2022-11-21 03:09:05
【问题描述】:
class Research:
def __init__(self,x,z,x_prime,z_prime):
self.String1="Hello"
self.x = x
self.z = z
self.x_prime = x_prime
self.z_prime = z_prime
class Child(Research):
def distance(point1, point2):
return math.sqrt(math.fsum((dim2-dim1)**2 for dim1, dim2
zip(point1,point2)))
x=[[0.69424575, 0.33240389, 0.2884937 ]]
z=[[0, 0, 0],
[0, 0, 0.28849370487530057],
[0, 0.33240389187301167, 0],
[0, 0.33240389187301167, 0.28849370487530057],
[0.6942457540745729, 0, 0],
[0.6942457540745729, 0, 0.28849370487530057],
[0.6942457540745729, 0.33240389187301167, 0],
[0.6942457540745729, 0.33240389187301167, 0.28849370487530057]]
distances = [distance(each_z, x[0]) for each_z in z]
print(distances)
obj = Child()
obj.distance(point1,point2)
NameError: name 'point1' is not defined
这是使用类和继承概念对答案的修改。现在我得到 point1 is not defined after modification。那么如何调用那个距离函数?如果它显示 point1 is not defined。这里有什么我需要改变的吗
【问题讨论】:
-
此代码看起来有不正确的缩进(这在 Python 中很重要)。请再次检查您在此处显示的代码是否与您实际运行的代码完全一样。
-
Child()是什么?您在此处的代码定义了一个名为 Research 的类,但没有定义 Child。 -
确实没有定义
point1。为什么你会认为它是定义的?
标签: python