python|復盤

本周主打工具篇,用到的工具有:

命令行工具 Mac:iTerm2 ?Windows:PowerShell

版本管理工具 git&GitHub、SourceTree

1.本周學習到的東西

命令行

外部的庫 library

類 class

版本管理的概念 (記錄代碼某個時間點的狀態)

1.1你認為command or shell這種命令行軟件有什么用處?(可搜索)

省時,執行相關命令即可快速查找代碼文件的位置、更改目錄

在一個界面跑出幾個代碼文件輸出的結果(相比command+B不容易出bug;便于交互)

1.2你嘗試了哪幾個python的library?有感受關于庫的使用的好處?有哪些?(自己描述)

time&calendar&turtle.

站在前人肩膀上。神奇,有趣。

1.3面向對象的原理是什么?對比了面向對象和面向過程,你覺得面向對象(或者說類)帶來了哪些好處?(自己描述)

原理:面向對象是將對象作為程序的基本單元,將程序和數據封裝其中,以提高軟件的重用性、靈活性和擴展性。

面向對象的好處是條理清晰。除了main函數起到賦值作用外,只需要定義類別、初始化屬性和行為三個代碼塊,以便執行變量較多的行為。(以上網上找來的、有同感:軟件易于修改、易于理解、易于調試和測試、穩定性較好、具有可重用性)

百度百科

“面向過程”和“面向對象”的區別

面向過程就是分析出解決問題所需要的步驟,然后用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了;面向對象是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。

例子:

可以拿生活中的實例來理解面向過程與面向對象,例如五子棋,面向過程的設計思路就是首先分析問題的步驟:1、開始游戲,2、黑子先走,3、繪制畫面,4、判斷輸贏,5、輪到白子,6、繪制畫面,7、判斷輸贏,8、返回步驟2,9、輸出最后結果。把上面每個步驟用不同的方法來實現。

如果是面向對象的設計思想來解決問題。面向對象的設計則是從另外的思路來解決問題。整個五子棋可以分為1、黑白雙方,這兩方的行為是一模一樣的,2、棋盤系統,負責繪制畫面,3、規則系統,負責判定諸如犯規、輸贏等。第一類對象(玩家對象)負責接受用戶輸入,并告知第二類對象(棋盤對象)棋子布局的變化,棋盤對象接收到了棋子的變化就要負責在屏幕上面顯示出這種變化,同時利用第三類對象(規則系統)來對棋局進行判定。

可以明顯地看出,面向對象是以功能來劃分問題,而不是步驟。同樣是繪制棋局,這樣的行為在面向過程的設計中分散在了多個步驟中,很可能出現不同的繪制版本,因為通常設計人員會考慮到實際情況進行各種各樣的簡化。而面向對象的設計中,繪圖只可能在棋盤對象中出現,從而保證了繪圖的統一。


2.下周計劃

2.1菜鳥教程 (git教程&python2教程)

2.2多試幾個庫 http://devdocs.io

2.3有余力看《python簡明教程》

2.4期待大作業,預計bug滿天飛,忐忑······

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容