書名: 深度學(xué)習(xí)程序設(shè)計實戰(zhàn)作者名: 方林 陳海波編著本章字?jǐn)?shù): 527字更新時間: 2021-08-12 17:34:26
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的來由。
- Scratch 3.0少兒編程與邏輯思維訓(xùn)練
- Oracle數(shù)據(jù)庫從入門到運維實戰(zhàn)
- BeagleBone Black Cookbook
- 計算機(jī)應(yīng)用基礎(chǔ)教程(Windows 7+Office 2010)
- Unity 2018 Augmented Reality Projects
- CRYENGINE Game Development Blueprints
- Spring技術(shù)內(nèi)幕:深入解析Spring架構(gòu)與設(shè)計原理(第2版)
- 零代碼實戰(zhàn):企業(yè)級應(yīng)用搭建與案例詳解
- 3ds Max印象 電視欄目包裝動畫與特效制作
- Java并發(fā)編程之美
- Training Systems Using Python Statistical Modeling
- 大話代碼架構(gòu):項目實戰(zhàn)版
- Android開發(fā)進(jìn)階實戰(zhàn):拓展與提升
- 深入理解Zabbix監(jiān)控系統(tǒng)
- SQL Server 2012數(shù)據(jù)庫管理與開發(fā)(慕課版)