python学习笔记
单下划线、双下划线、头尾双下划线说明:
1.__foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 init() 之类的。
2._foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
3.__foo: 双下化现表示的是私有类型(private)的变量,只能是允许这个类本身进行访问了
4.实现实例化的方法,就是像调用函数一样地调用一个类 :
thing = MyStuff()
thing.apple()
print thing.tangerine
第一行代码就是“实例化”操作,这和调用函数很相似。然而,当你进行实例化操作时, Python 在背后
做了一系列的工作,这里我针对上面的代码详细解释一下:
- Python 看到了 MyStuff() 并且知道了它是你定义过的一个类。
- Python 创建了一个空的对象,里边包含了你在类中用 def 创建的所有函数。
- 然后 Python 回去检查你是不是在里边创建了一个 __init__ 魔法函数,如果你有创建,它就会
调用这个函数,从而对你的空对象实现了初始化。 - 在 MyStuff 中的 __init__ 函数里,我们有一个多余的函数叫做 self ,这就是 Python 为我们创建的空对象,而我可以对它进行类似模块、字典等的操作,为它设置一些变量进去。
- 在这里,我把 self.tangerine 设成了一段歌词,这样我就初始化了该对象。
- 最后 Python 将这个新建的对象赋给一个叫 thing 的变量,以供后面使用