第一章Python程式設計初步
1.1程式設計與程式設計語言
1.程式設計與計算思維
程式設計:給出解決特定問題程式的過程,以某種程式設計語言為工具,並在這種語言下編寫程式。
計算思維:運用電腦科學的基礎概念進行問題求解,系統設計以及人類行為理解等涵蓋電腦科學之廣度的一系列思維活動。
2.程式設計語言
機器語言:用二進位制程式碼表示的計算機能直接識別和執行的一種機器指令的集合,形式上是由‘0’和‘1’構成的一串二進位制程式碼。
組合語言:採用了有助於記憶的符號(稱為指令助記符)與符號地址來代替機器指令中的操作碼和運算元
高階語言:是更接近自然語言,數學語言的程式設計語言,是面向應用的計算機語言,與具體的機器無關。
1.2python語言概述
1.Python語言發展
Python繼承於ABC語言,主要受到Modula-3的影響,Modula-3是另一種相當優美且強大的語言,為小型團體所設計,並且結合了Unix shell和C的習慣
1.1Python概述
*Python是一門跨平臺,開源,免費的解釋性高階動態程式語言,是一種通用程式設計言。
*Python支援指令式程式設計,函數語言程式設計,完全支援面向物件程式設計,語法簡潔清晰,並且又有大量的幾乎支援所有領域應用開發的成熟擴充套件庫。
為什麼用python?
-易於學習和容易理解
-開源工具多
-Python可靠且高效
-在人工智慧領域的普及
1.1.1Python的發展歷程
python的發展歷程Python2.x和Python3.x的區別
python的特點
1.語法簡潔,易學易懂2.免費開源的理念3.是一種高階語言4.是一種解釋型語言5.具有豐富的庫6.規範的程式碼7.面向物件8.其他
1.語法簡潔,易學易懂
Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。Python程式碼定義的語法,學習起來更加簡單。Python程式碼定義的更加清晰,閱讀一個良好的Python程式,就像在閱讀一段語法要求嚴格的英語段落一樣。
2.免費開源的理念
使用者可以自由地釋出這個軟體的拷貝,檢視它的原始碼,研究其程式碼細節或進行二次開發。具有許多針對不同專案設計的執行緒框架以及開源工具,又有大量的文件,教程,問答等資料。
3.Python是一種高階語言
低階語言泛指機器語言和組合語言。
優點:執行速度快
缺點
-程式碼編寫難度較大,可讀性較差
-具有較高的機器相關性
高階語言
優點
-編寫容易,程式碼可讀性號
-可移植
缺點
-需要先翻譯成低階語言才能執行,效率相對較低。
-對硬體的可控性相對較弱,目的碼量較大,
4.是一種解釋型語言
解釋型語言不需要編譯成二進位制程式碼,可以直接從原始碼執行程式。在計算機內部,Python直譯器把原始碼轉換成位元組碼的中間形式,再把它翻譯成計算機使用的機器語言並執行。
優點是可移植性好,只要有直譯器環境,程式就可以在不同的作業系統上執行
缺點是程式碼需要有專門的直譯器,在程式執行時,除要給使用者程式本身分配記憶體空間外,直譯器也佔用系統資源,所以其執行速度較慢。
5.具有豐富的庫
具有一個廣泛的標準庫,它可以處理各種工作,包括正則表示式,文件生成,單元測試,執行緒,資料庫,網頁瀏覽器,電子郵件,GUI等於系統有關的操作。
除了標準庫外,還有許多其他高質量的第三方庫,如wxPython,Twisted和Python影象庫。
6.規範的程式碼
採用強制縮排的方式使得程式碼具有較佳的可讀性。違反了縮排規則的程式不能通過編譯,減少了程式設計師的自由度,有利於統一風格,使得人們在閱讀程式碼時會更加輕鬆。
7.面向物件
Python既支援面向過程的程式設計也支援面向物件的程式設計。
在面向過程的語言中,程式是由過程或是可重用程式碼的函式構建起來的。
在面向物件的語言中,程式是由資料和功能組合而成的物件構建起來的。與其他原因呢相比,Python以一種非常強大又簡單的方式實現面向物件程式設計。
面向物件
*面向過程的程式設計
-將要處理的資料儲存道各種獨立變數,陣列等儲存單元中
-通過流程控制語句,將業務邏輯寫成程式程式碼
-為了使整個程式的結構更加清晰,引入函式的概念來簡化程式設計的複雜性
*面向物件的程式設計
-獨立的變數和函式在現實世界中都是不存在的,都依附於某一事物身上,變數就是事物的特徵,函式就是事物的功能(或者能力)
-解決一個問題是靠多個不同事物的相互作用來完成的
8.其他
可移植性:基於其開放原始碼的特性,Python已經被移植到Linux,Windows等許多平臺
可擴充套件性:可以使用C或C++完成部分程式,然後從你的Python程式呼叫
可嵌入性:還可以將Python嵌入到C/C++程式,讓程式使用者獲得‘指令碼化’的能力
1.1.3Pyhton的應用領域
1.Web應用開發
2.科學計算和統計
3人工智慧與大資料
4.系統運維
5.圖形介面開發
1.2Python的安裝