关于python面向对象程序设计

在python中创建类并在类中定义函数,为什么在类里面要加参数self,而在类外不用?

python中的self
https://blog.csdn.net/xrinosvip/article/details/89647884?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166160808316782390515482%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166160808316782390515482&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-16-89647884-null-null.142^v42^control,185^v2^tag_show&utm_term=python%20self%E7%90%86%E8%A7%A3&spm=1018.2226.3001.4449

类中定义函数,不是必须要参数self,当你在函数中想要使用类的属性和类的其他方法的时候,就需要self,这个self代表这个类(实例)的本身。
你可以使用self.属性来调用类属性

首先,很多人容易以为,Python类中定义的函数第一个参数要写成self。其实,不一定要写成self,你写成其它变量名(a,b,c,d..)也没有问题,只要在函数体中做相应替换,把self.x替换成a.x,运行效果完全一样!
类的方法是 用来定义实例、供实例调用的。self就能保证类的方法,初始化完全在实例的命名空间内。我认为理解的关键还是命名空间。