在python中创建类并在类中定义函数,为什么在类里面要加参数self,而在类外不用?
类中定义函数,不是必须要参数self,当你在函数中想要使用类的属性和类的其他方法的时候,就需要self,这个self代表这个类(实例)的本身。
你可以使用self.属性来调用类属性
首先,很多人容易以为,Python类中定义的函数第一个参数要写成self。其实,不一定要写成self,你写成其它变量名(a,b,c,d..)也没有问题,只要在函数体中做相应替换,把self.x替换成a.x,运行效果完全一样!
类的方法是 用来定义实例、供实例调用的。self就能保证类的方法,初始化完全在实例的命名空间内。我认为理解的关键还是命名空间。