想要知道python什么时候加self就需要知道self的作用。
下面我们就来看一下self的作用:
变量加了self后在任何实例方法(非staticmethod和calssmethod)就都可以访问这个变量了,如果没有加self,只有在当前函数内部才能访问这个变量。
示例:
class A(): def mutl(self): x=5 def sing(self): y=5*x print(y) a=A() a.mutl() a.sing() 错误如下: <ipython-input-3-e305f6d63af0> in sing(self) 3 x=5 4 def sing(self): ----> 5 y=5*x 6 print(y) 7 # def print1(self): NameError: name 'x' is not defined
可以看到,对于参数前面不加self的参数,只适用于本方法,不能跨方法调用。
class A(): def mutl(self): self.x=5 def sing(self): y=5*self.x print(y) a=A() a.mutl() a.sing() 打印结果: 25
里可以清晰地看到不在报错,加了self,立马实现跨方法调用。
更多Python知识请关注。