萌新刚学python,请教关于类中self.***的返回值问题

长的代码不麻烦各位大佬看,我说一下我的问题。
首先我的类是这样的
图片说明
在这个类中,定义了属性distance,13行就是一个计算距离的式子,我试过,这个dis变量就是一个数。

在计算的过程中,我有一个步骤是:
s=s+li[p].classid/li[p].distance(t[i])
分子中的classid是一个数,问题来了,如果按上图给dis以self.dis赋值的时候,这个算式中的分母不能计算,显示如下错误,应该是分母不是数值类型:
图片说明

但是我把第一张图中最后属性下面加上一句return dis,这时候就可以计算上面那个式子了。
如果我不加return dis,下面的式子究竟要怎么操作才能引用这个类-属性下计算出的dis呢。

所以我想问的主要是如果这个属性(就是我这里面的distance下面)有多个值dis1、dis2、dis3的时候,外面的计算如何单独调用这三个dis值?
大佬帮帮忙谢谢,本人萌新刚接触python

试试把你的类这么改一下(在init函数最后一行加self.dis = 0):

class Point:
    def __init__ (self,coor,classid):
        seLf.coor = coor
        self.classid=classid
        self.dis = 0
    def distance(self ,ori):
        dis = math.sqrt((self.coor[0]-ori[0])**2 + (self.coor[1] - ori[1])**2)
        self.dis=dis

类的成员变量需要在类的构造函数内以self.开头来定义的。