现有的回答大部分都没说到点子上. 关于 Python 的 self, 往深里说能写一大篇长文... 实际上我这篇回答写着写着就变成一篇对 Python 的面向对象的逻辑的阐述短文, 而不仅限于关于 self 的讨论了. 如果你对于 Python 的面向对象的底层逻辑感兴趣, 这篇回答多半会给你一些帮助. 不过如果你对这个不感兴趣的话 (不过很显然题主很感兴趣, 既然他问了), 估计就没啥用了, 因为业务代码里面是肯定用不到的 (在业务代码里面用那么多语言特性岂不是要被打死?).
这是一个从 https://www.zhihu.com/question/589225682/answer/2990235423 下的原始话题分离的讨论话题