玩蛇网提供最新Python编程技术信息以及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,求问各种大神原因!谢谢啦。

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

    def dis(self,po1,po2):
        dis=(po1.g-po2.g)**2+(po1.h-po2.h)**2
        return dis

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)

没return?

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

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19663.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月24日 - 20时30分19秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules