品易云推流 关闭
文章详情页
文章 > Python常见问题 > python什么时候加self?

python什么时候加self?

头像

yang

2020-05-27 15:01:475916浏览 · 0收藏 · 0评论

想要知道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知识请关注Python自学网

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图