python的self
Posted stephen-qin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的self相关的知识,希望对你有一定的参考价值。
好文章:https://blog.csdn.net/CLHugh/article/details/75000104
重要观点:
两个下划线,在Python中,实例的变量名如果以开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问
你会看到以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。
self代表类的实例,而非类。 class Test: def ppr(self): print(self) print(self.__class__) t = Test() t.ppr() 执行结果: <__main__.Test object at 0x000000000284E080> <class ‘__main__.Test‘> 从上面的例子中可以很明显的看出,self代表的是类的实例。而self.__class__则指向类。 注意:把self换成this,结果也一样,但Python中最好用约定俗成的self。 在Python解释器的内部,当我们调用t.ppr()时,实际上Python解释成Test.ppr(t),也就是把self替换成了类的实例。
在继承时,传入的是哪个实例,就是那个传入的实例,而不是指定义了self的类的实例。
以上是关于python的self的主要内容,如果未能解决你的问题,请参考以下文章