
python
文章平均质量分 75
m0_38063172
这个作者很懒,什么都没留下…
展开
-
在类的内部使用类中属性时,类名.属性名和self.属性名的异同
在python中,定义了结构之后就产生了相应的命名空间,对类和函数的定义都会形成相应的命名空间。但是在两者的命名空间中有个差别值得我们关注,尤其在定义类中的函数时应该注意类命名空间的特性。定义函数时产生的命名空间定义一个简单函数:def foo(): a = 1 b = 2 c = 3 d = a + b + c print(d)...原创 2018-08-30 17:33:28 · 2465 阅读 · 2 评论 -
python中的super函数及MRO
super() 函数是用于调用父类(超类)的一个方法。 super是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。MRO就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。调用父类(超类)方法的两种方式:...原创 2018-08-31 18:35:07 · 6057 阅读 · 10 评论 -
python中的_和__
Python中 _ 和 __ 的含义_ 的含义 在python的类中,没有真正的私有化,不管是方法还是属性,为了编程的需要,约定加了下划线 _ 的属性和方法不属于API,不应该在类的外面访问,也不会被from M import * 导入。下面的代码演示加了_ 的方法,以及在类外面对其的可访问性。class A: def _method(self): pri...原创 2018-08-29 11:23:44 · 37421 阅读 · 8 评论 -
python类方法中的self关键字
之前学python爬虫的时候要把函数封装到类里面,写成类方法,知道在python的类方法中第一个参数应该是self,但对self代表的具体意义不甚了了。最近在看Java,对面向对象编程的了解更多了一点,终于彻底弄明白self到底是什么了。Python的类在python中,所有的类都直接或间接继承自Object类,定义了类之后就定义了一个命名空间,里面定义的属性可以通过类名来引用。新...原创 2018-08-30 14:55:05 · 15018 阅读 · 6 评论