官术网_书友最值得收藏!

1.4 結(jié)束語

本章著重介紹了自頂向下、遞歸和面向?qū)ο?種程序設(shè)計方法。其中前兩者的實質(zhì)相同,都是對問題分解的實現(xiàn)方法。只不過自頂向下是把原問題分解為若干子問題,子問題又進(jìn)一步分解為它自己的子問題,以此類推。而遞歸則是把原問題分解為規(guī)模小一點、參數(shù)更靠近邊界的原問題。

除了直接遞歸以外,還有間接遞歸。例如a()函數(shù)調(diào)用b()函數(shù),而b()函數(shù)又調(diào)用a()函數(shù)。其核心思想仍然是數(shù)學(xué)歸納法的三部曲。

面向?qū)ο蟮某绦蛟O(shè)計方法則不同,它的核心是繼承,而繼承的目的是重用代碼。我們在這一章通過幾個例子簡單地實驗了一遍與繼承緊密相關(guān)的成員函數(shù)重定義。可以看到,通過重定義,我們自己定義的分?jǐn)?shù)類也能直接使用Python提供的各種運算,甚至連優(yōu)先級都不用操心。我們將在下面的章節(jié)中繼續(xù)通過實例幫助大家理解面向?qū)ο蟪绦蛟O(shè)計方法的實質(zhì)。


[1] 我們假定您對面向?qū)ο蠓椒ㄓ幸欢私猓婪庋b、繼承、構(gòu)造函數(shù)、成員變量、成員函數(shù)、靜態(tài)函數(shù)、多態(tài)、重定義等概念。如果并不太清楚這些概念,建議先學(xué)習(xí)面向?qū)ο蠓椒ê蚉ython語言之后再來學(xué)習(xí)本書,這樣效果會更好。

[2] Python雖然不支持重載,但它支持參數(shù)列表和參數(shù)字典。這使得我們可以用不同的參數(shù)組合調(diào)用同一個函數(shù)。

[3] 有的教程稱為重寫

[4] 這就是函數(shù)名稱__radd__中第一個字母r的來由。

主站蜘蛛池模板: 庐江县| 望奎县| 大港区| 洛南县| 尼勒克县| 星座| 迁西县| 东方市| 西林县| 济阳县| 霍山县| 九龙城区| 永川市| 广昌县| 伊金霍洛旗| 积石山| 仲巴县| 东安县| 石景山区| 德庆县| 沈丘县| 临城县| 大冶市| 那坡县| 和硕县| 金华市| 锦屏县| 徐水县| 遂平县| 桓台县| 天门市| 清新县| 庄浪县| 平定县| 安平县| 千阳县| 镇安县| 镇远县| 美姑县| 曲水县| 乃东县|