问下类函数中return self怎么理解?感觉不是链式调用啊



调用程序如下:



这里面的return self怎么理解?感觉不是链式调用啊,有人能讲解下吗?

你想迭代就return self,不想就返回其他的就好了。也不是一定要返回self
像你这个返回self,好像就没啥用...

如果我传入x1=1 y1=1 x2=2 y2=2 这个line等于什么?

print(type(line))应该返回的是这个class
return self 就是为了链式调用的,
链式调用的本质就是让对象的方法返回这个对象自身。

链式调用可以让方法调用非常灵活,如这4种调用都是等价的。

line = GLine().initXY()
l = line.getLen()
----------------------------
line = GLine()
l = line.initXY().getLen()
----------------------------
line = GLine()
line.initXY()
l = line.getLen()
----------------------------
l = GLine().initXY().getLen()