波大大12138 发表于 2020-8-10 20:12:06

程序中有一行代码没有理解

如图所示,我想问的是在第五行代码是在第一个方法中用到了第二个方法,那么为什么在他前面要加self.呢?这是什么意思?嵌套?调用?还是私有?我去掉self的话,系统报错说:name getnextis not defined,这个怎么理解啊?

zltzlt 发表于 2020-8-10 20:12:48

本帖最后由 zltzlt 于 2020-8-10 20:15 编辑

在类的另一个实例方法(也就是参数中有 self 的方法)中调用类中定义的实例方法需要加 self. ,这里的 self 可以理解为类的实例

qiuyouzhi 发表于 2020-8-10 20:13:10

因为你定义的getnext是个实例方法(参数里面有self),所以调用实例的方法就得用self.方法名()。
这个算是基础知识了

Twilight6 发表于 2020-8-10 20:22:22


你这个感觉像力扣的模板

self 是代表着实例对象,你这里代码就是定义了一个 Solution 类,当你实例化 Solution 类的时候,例 s = Solution() 时候

这个时候 s 就代码 Solution 类方法中的 self ,即此时的 self = s 表示着 s 这个实力对象
页: [1]
查看完整版本: 程序中有一行代码没有理解