Python学习笔记(10)——我的爸爸的爸爸的爸爸的爸爸……

开始之前,我们问个问题(以下简称为无聊的问题):

你的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸叫什么?

你别说答出来了,能把这个问题一字不差的读完,也是……

img

有些人看到这儿就默默地走开了……等一下啊,我们今天不是让你看这的喂!!!!

我们来让你学继承的呀!!!

小伙伴:我就知道肯定得学习。(转过头来)

img

1.继承是什么?

刚才说了一个继承,那继承是什么呢?

我们还得回到无聊的问题上:

你的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸叫什么?

其中这个关系:你的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸,祖祖代代相当于:爸爸、爷爷、曾祖父、高祖父……

那么、相当于:曾祖父继承高祖父、爷爷继承曾祖父、爸爸继承爷爷……

那么……现在你知道了吧?继承 相当于下一代

那么,我们将把它运用到类中,让一个类拥有另一个类的特性。

2.类的继承

类的继承为:

class SonClass(FatherClass): #SonClass是子类,FatherClass是父类。
    # 子类的内容

比如我们做一个测试:用子类访问父类的变量。

>>> class FatherClass:
...     fam_name = '宋'
... 
>>> class SonClass(FatherClass):
...     pass
...
>>> SonClass().fam_name
'宋'

大家可以试一试,绝对是真的!

这是我在IPython的实验:

img

函数也可以:

>>> class FatherClass:
...     def my(self):
...         print('我是宋公子!')
...
>>> class SonClass(FatherClass):
...    pass
...
>>> SonClass().my()
我是宋公子!

测试:

img

这个宋公子,怎么样,它祖孙三代都叫宋公子~

>>> class GrandpaClass:
...     name = '宋公子'
...
>>> class FatherClass(GrandpaClass):
...     pass
...
>>> class SonClass(FatherClass):
...     pass
...
>>> SonClass().name
'宋公子'

测试:

img

怎么样,是不是很香呢。


好啦,今天的文章就到这里!

最后来思考:我们这个无聊的问题

你的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸的爸爸叫什么?

用Python怎么表示?

img

results matching ""

    No results matching ""