为什么要给每个方法都加入self作为参数?classmyClass:defmyFunc(self,name):self.name=name求解释!
2 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
面向对象中静态方法与实例方法的区别,不加self声明方法为当前类的静态成员,使用myClass.myFun()调用,如果添加self则定义为类实例成员,这样调用c=myClass()c.myFun()从执行角度来讲,都能调用,但要更符合面向对象原则,则建议区分开,更进一步讲,如果某个行为与具体的实例关系不大时比如数据访问工具类的方法,则可以不加self定义为类成员,如果以多态的角度出发该行为与实例关系更紧密时,则需要加self
添加回答
举报
0/150
提交
取消