• python -- self 简单理解


    python -- self 简单理解



    简单一句话,我们是伙伴


    结论

    1. self 在定义时需要定义,但在调用时会自动传入
    2. self 的名字可以变更
    3. self 总是指调用时的类的实例

    下面就上面三点进行解释


    先看一个例子

    >>> class Test(object):
    ...     def testSelf(self):
    ...         print(self)
    ...
    >>> t = Test()
    >>> t.testSelf()
    <__main__.Test object at 0x00000182DEB82F98>
    

    从例子可以看出,self 实际上是类的对象

    在 python 机制中,当我们执行 t.testSelf() 时,实际上执行的是 Test.testSelf(t), 其会把生成的对象 t 传递给 self,所以实际打印出来的就是 t 了,因此,self 代表的是类的实例

    所以说,当使用类的实例调用类的方法时,self 是不能够省略的,因为 python 有自动传递参数

    那换一个角度想,如果直接执行 Test.testSelf() 的话,是不是在定义类的时候把 self 去掉了,答案是肯定可以去掉的,因为这时候并没有传递实例进去,但这样适应就没有意思了,对吧

    另外,因为 self 仅仅只是代表一个参数,所以他的名字也就可以变更了,但还是约定成俗的比较好

    最后,因为我们传进去的是相应类的实例对象,所以 self 也就总是指向调用时的类的实例

    也就是说,某一个类里面的 self 不一定指向这个类的实例对象,可能是其他类的


  • 相关阅读:
    代码性能优化-1
    sql调优-1
    2020.11.08 字符串可以是对象
    2020.11.09 JavaScript运算符
    2020.11.10 JavaScript 比较
    2020.11.11
    2020.11.12 条件语句
    2020.11.13 switch语句
    2020.11.14 循环
    2020.11.15
  • 原文地址:https://www.cnblogs.com/pinsily/p/7889483.html
Copyright © 2020-2023  润新知