[新手]Python关于类的疑问

class Len2: def __init__self: pass def setself,x,y: self.g=x self.h=y def disself,po1,po2: dis=po1.g-po2.g**2+po1.h-po2.h**2
a=Len2
a.set1,1
b=Len2
b.set5,4
c=Len2
print c.disa,b

想算两个点的距离,可是这段运行print了None,求问各种大神原因!谢谢啦。

因为 def dis 这个方法没有返回值,因此你得到的就是 None。
把 def dis 那段改成下面的就好了。

 def disself,po1,po2: dis=po1.g-po2.g**2+po1.h-po2.h**2 return dis

没return?

感觉好别扭,为什么计算两个点的距离却需要第三个对象.

a,b都没有赋值啊。

class Len2:
def initself:
pass
def setself,x,y:
self.g=x
self.h=y
return set
def disself,po1,po2:
dis=po1.g-po2.g2+po1.h-po2.h2
import math
print math.sqrtdis
return dis
a=Len2
a.set1,1
b=Len2
b.set5,4
a.disa,b

发表评论

电子邮件地址不会被公开。 必填项已用*标注