python计算思维训练文件操作与异常处理_054 Python程序设计思维
[TOC]
一、單元開篇
計算思維與程序設計
計算生態與Python語言
用戶體驗與軟件產品
基本的程序設計模式
二、計算思維與程序設計
2.1 計算思維
2.1.1 第3種人類思維特征
邏輯思維:推理和演繹,數學為代表,A->B B->C A->C
實證思維:實驗和驗證,物理為代表,引力波
計算思維:設計和構造,計算機為代表,漢諾塔遞歸
2.1.2 抽象和自動化
計算思維:Computational Thinking
抽象問題的計算過程,利用計算機自動化求解
計算思維是基于計算機的思維方式
2.1.3 計數求和:計算1-100的計數和
邏輯思維(數學家高斯的玩兒法):
$$ S=\frac{(a_1+a_n)n}{2} $$
計算思維(現代人的新玩兒法):
s = 0
for i in range(1, 101):
s += i
2.1.4 圓周率的計算
邏輯思維:
$$ \pi = \sum_{k=0}^\infty[\frac{1}{16^k}(\frac{4}{8k+1}-\frac{2}{8k+4}-\frac{1}{8k+5}-\frac{1}{8k+6})] $$
計算思維:
2.1.5 漢諾塔問題
邏輯思維($2^n-1$):
計算思維:
count = 0
def hanoi(n, src, dst, mid):
… (略)
hanoi(3, "A", "C", "B")
print(count)
2.1.6 天氣預報
2.1.7 量化分析
2.1.8 抽象問題的計算過程,利用計算機自動化求解
計算思維基于計算機強大的算力及海量數據
抽象計算過程,關注設計和構造,而非因果
以計算機程序設計為實現的主要手段
2.2 計算思維與程序設計
編程是將計算思維變成現實的手段
三、計算生態與Python語言
3.1 計算生態
從開源運動說起…
開源生態逐步建立
1991, Linus Torvalds發布了Linux內核
1998, 網景瀏覽器開源,產生了Mozilla
開源思想深入演化和發展,形成了計算生態
計算生態以開源項目為組織形式,充分利用“共識原則”和“社會利他”組織人員,在競爭發展、相互依存和迅速更迭中完成信息技術的更新換代,形成了技術的自我演化路徑。
沒有頂層設計、以功能為單位、具備三個特點
3.2 計算生態與Python語言
以開源項目為代表的大量第三方庫:Python語言提供 >13萬個第三方庫
庫的建設經過野蠻生長和自然選擇:同一個功能,Python語言2個以上第三方庫
庫之間相互關聯使用,依存發展:Python庫間廣泛聯系,逐級封裝、
社區龐大,新技術更迭迅速:AlphaGo深度學習算法采用Python語言開源
API != 生態
3.3 計算生態的價值
創新:跟隨創新、集成創新、原始創新
加速科技類應用創新的重要支撐
發展科技產品商業價值的重要模式
國家科技體系安全和穩固的基礎
3.4 計算生態的運用
刀耕火種 -> 站在巨人的肩膀上
編程的起點不是算法而是系統
編程如同搭積木,利用計算生態為主要模式
編程的目標是快速解決問題
四、用戶體驗與軟件產品
4.1 用戶體驗
實現功能 -> 關注體驗
用戶體驗指用戶對產品建立的主觀感受和認識
關心功能實現,更要關心用戶體驗,才能做出好產品
編程只是手段,不是目的,程序最終為人類服務
4.2 提高用戶體驗的方法
4.2.1 方法1:進度展示
如果程序需要計算時間,可能產生等待,請增加進度展示
如果程序有若干步驟,需要提示用戶,請增加進度展示
如果程序可能存在大量次數的循環,請增加進度展示
4.2.2 方法2:異常處理
當獲得用戶輸入,對合規性需要檢查,需要異常處理
當讀寫文件時,對結果進行判斷,需要異常處理
當進行輸入輸出時,對運算結果進行判斷,需要異常處理
4.2.3 其他類方法
打印輸出:特定位置,輸出程序運行的過程信息
日志文件:對程序異常及用戶使用進行定期記錄
幫助信息:給用戶多種方式提供幫助信息
軟件程序 -> 軟件產品
用戶體驗是程序到產品的關鍵環節
五、基本的程序設計模式
5.1 從IPO開始…
I:Input 輸入,程序的輸入
P:Process 處理,程序的主要邏輯
O:Output 輸出,程序的輸出
確定IPO:明確計算部分及功能邊界
編寫程序:將計算求解的設計變成現實
調試程序:確保程序按照正確邏輯能夠正確運行
5.2 自頂向下設計
I:Input 輸入,程序的輸入
P:Process 處理,程序的主要邏輯
O:Output 輸出,程序的輸出
5.3 模塊化設計
通過函數或對象封裝將程序劃分為模塊及模塊間的表達
具體包括:主程序、子程序和子程序間關系
分而治之:一種分而治之、分層抽象、體系化的設計思想
緊耦合:兩個部分之間交流很多,無法獨立存在
松耦合:兩個部分之間交流較少,可以獨立存在
模塊內部緊耦合、模塊之間松耦合
5.4 配置化設計
引擎+配置:程序執行和配置分離,將可選參數配置化
將程序開發變成配置文件編寫,擴展功能而不修改程序
關鍵在于接口設計,清晰明了、靈活可擴展
5.5 應用開發的四個步驟
從應用需求到軟件產品
1 產品定義:對應用需求充分理解和明確定義:產品定義,而不僅是功能定義,要考慮商業模式
2 系統架構:以系統方式思考產品的技術實現:系統架構,關注數據流、模塊化、體系架構
3 設計與實現:結合架構完成關鍵設計及系統實現:結合可擴展性、靈活性等進行設計優化
4 用戶體驗:從用戶角度思考應用效果:用戶至上,體驗優先,以用戶為中心
六、單元小結
計算思維:抽象計算過程和自動化執行
計算生態:競爭發展、相互依存、快速更迭
用戶體驗:進度展示、異常處理等
IPO、自頂向下、模塊化、配置化、應用開發的四個步驟
總結
以上是生活随笔為你收集整理的python计算思维训练文件操作与异常处理_054 Python程序设计思维的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正畸矫正牙齿怎么样
- 下一篇: python的生成器