今天正好看到了python中构造函数这点东西,有所感悟,记录下来,备忘。python中的构造函数被原作者称之为magic methods,也是比较的神奇,但是跟C++中的构造函数相差不是很多,虽然说法不同,但是很是有很多相同之处的。接触过,有准备了也就能更加清楚了。C++ 当中的继承也需要对构造函数进行传参,初始化。所以python中的代码也是很类似。
先看一个比较简单的例子:全文代码中的注释都需要去掉之后才能运行
class bird:
def __init__(self):
self.hungry = True
def eat(self):
if self.hungry:
print('Aaaaaah ')
self.hungry = False
else:
print('No,Thanks!')
b = bird()
b.eat()
b.eat()
输出:
Aaaaaah
No,Thanks!
[Finished in 0.1s]
这个还是比较容易理解的,比较的简单,下面我新建一个类Songbird,继承bird中的属性,得到新的技能sing
class bird: #基类
def __init__(self):
self.hungry = True
def eat(self):
if self.hungry:
print('Aaaaaah ')