首页 > [新手]Python关于类的疑问

[新手]Python关于类的疑问

class Len2:
    def __init__(self):
        pass
    def set(self,x,y):
        self.g=x
        self.h=y
    def dis(self,po1,po2):
        dis=(po1.g-po2.g)**2+(po1.h-po2.h)**2
a=Len2()
a.set(1,1)
b=Len2()
b.set(5,4)
c=Len2()
print c.dis(a,b)

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


没return?


a,b都没有赋值啊。


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


class Len2:
def init(self):
pass
def set(self,x,y):
self.g=x
self.h=y
return set
def dis(self,po1,po2):
dis=(po1.g-po2.g)2+(po1.h-po2.h)2
import math
print math.sqrt(dis)
return dis
a=Len2()
a.set(1,1)
b=Len2()
b.set(5,4)
a.dis(a,b)


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

    def dis(self,po1,po2):
        dis=(po1.g-po2.g)**2+(po1.h-po2.h)**2
        return dis
【热门文章】
【热门文章】