首页 > 其他 > 详细

理解this

时间:2019-02-21 17:14:20      阅读:110      评论:0      收藏:0      [点我收藏+]

刚开始学习Python的类写法的时候觉得很是麻烦,为什么定义时需要而调用时又不需要,为什么不能内部简化从而减少我们敲击键盘的次数?
你看完这篇文章后就会明白所有的疑问。

self代表类的实例,而非类。

实例来说明

class Test:
    def prt(self):
        print(self)
        print(self.__class__)

t = Test()
t.prt()

执行结果如下

<__main__.Test object at 0x000000000284E080>
<class ‘__main__.Test‘>

从上面的例子中可以很明显的看出,self代表的是类的实例。而self.__class__则指向类。

self不必非写成self

有很多童鞋是先学习别的语言然后学习Python的,所以总觉得self怪怪的,想写成this,可以吗?
当然可以,还是把上面的代码改写一下。

class Test:
    def prt(this):
        print(this)
        print(this.__class__)

t = Test()
t.prt()

改成this后,运行结果完全一样。
当然,最好还是尊重约定俗成的习惯,使用self。

理解this

原文:https://www.cnblogs.com/xuechengeng/p/10413553.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!