1.类方法中默认参数self,表示的是什么?
给C++/Java/C#程序员的注释Python中的self等价于C++中的self指针和Java、C#中的this参考。
你一定很奇怪Python如何给self赋值以及为何你不需要给它赋值。举一个例子会使此变得清晰。假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。
总结:
self在Python里不是关键字。self代表当前对象的地址。self能避免非限定调用造成的全局变量。
self是一种习惯,如上面的程序,把sayHi(self)换成sayHi(fles),同样可以得到正确的输出。