Python 教程——編程語言

現有的大部分Python 教程通常都是簡單介紹一下Python的用處,而後就開始講數據結構、控制流、文件輸入輸出、異常等,那對於一些徹底不瞭解什麼是編程語言的朋友來講,就會很難迅速的進入狀態。因此本文主要想介紹一下什麼是編程語言以及Python的主要組成部分,讓你們在學習Python的過程當中不會以爲迷茫。 有了這樣的一個大的框架以後,就好像打遊戲的時候的地圖同樣,讓你們在學習的過程知道本身每一步處在什麼位置,以及目標在哪裏。html

1. 編程語言的定義sql

根據維基百科的介紹,編程語言是是用來定義計算機程序形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。舉個例子,好比一箇中國人要和一個美國人交流的時候,會選擇使用英語來交流,因這樣雙方纔能互相理解,那麼人類要和計算機交流的時候,應該用什麼語言呢?這種語言,咱們稱之爲是編程語言。數據庫

2. 低級語言和高級語言編程

咱們知道,計算機只能理解二進制,那使用二進制給機器發送指令的方式就是機器語言(binary language),這是最底層的語言,機器執行起來也最快,可是對於咱們人類來講,若是要經過0000 來 告訴計算器去Load,用0001 來告訴計算機去存儲,甚至還要根據計算機處理器的位數來改指令,只怕腦子要爆炸。所以以後提出了彙編語言(assembly language),彙編語言是二進制指令的文本形式,與指令是一一對應的關係。好比,加法指令00000011寫成彙編語言就是 ADD。 彙編語言比機器語言稍微好懂了一點,可是依然更爲接近機器的理解模式而不是人類的理解模式。這些語言咱們稱之爲低級語言(Low level language),由於人類比較難理解他們。在此以後,針對不一樣的應用,不一樣的目的,爲了讓人類能夠更容易的學習和編寫程序,人們提出了成千上萬種高級編程語言( high level language)。比較主流的高級語言有C,C++,C#,Java,Python,Perl,HTML,Javascript,Objective C等等。C主要用來寫操做系統,Java主要用來寫服務器,大數據,安卓app開發等,html寫網頁(html彷佛也不能算做一門語言)。這些語言都比較相似英語的語法,因此對於人類來講都更爲容易理解和學習。Python相對於C和C++來講更爲高級一點,也就是更爲接近人類的理解,更爲容易學習 。服務器

3.  Python的組成網絡

上面提到編程語言的目的是用來定義計算機程序,來讓計算機執行咱們但願他執行的一些操做,所以他們都有一些共通的部分,也就是幾乎全部的編程語言都須要有的部分。主要是數據結構、輸入輸出、異常、流程控制、標準庫和擴展庫。數據結構

那麼在一個項目中,這些組成部分的做用分別是怎麼樣的呢?我畫了以下的一個圖:app

 

 這幅圖,咱們從裏向外看,在最裏面是一個相似於流程圖的圖,首先是輸入,一般一個程序老是須要去處理一些什麼東西,好比來自網絡的請求,好比從網頁上爬下來的數據,好比從數據庫取出來的數據,好比一張圖片,好比從文件讀取出來的數據,好比用戶輸入的簡單的名字或者數字等等等等。這個一般是一個程序的第一個步驟,獲取這些輸入,獲得輸入以後呢,咱們就須要把這個數據存儲進去一個容器——數據結構。數據結構是用來存儲數據的內存單元,Python裏主要有三大類數據類型,第一類是基本數據類型(Basic data type),即數字(number)和字符串(string);第二類是Python內置的數據結構,即列表(List),元組(Tuple) 和 字典(Dict);第三類是類(class)。我認爲這三類的關係是Class 能夠包括 List,Tuple,Dict,Number和String, 而List,Tuple和Dict的元素能夠由Number和String組成,其實也能夠是一個對象,即Class的實例。三者之間是有種相輔相成的感受的。數據存儲以後,咱們會須要進行一系列的計算操做等,那一般會須要去針對不一樣的輸入作不一樣的操做,或者對同一個操做作不少次,這個時候就須要流程控制,Python中的流程控制主要包括了if/else, while, for 以及倆輔助的continue和break。當操做完成以後,咱們就能夠把這個結果展現出來,這一步就是輸出,能夠輸出到GUI上顯示一個圖或者一個數字,能夠寫出文件給用戶後續使用,能夠返回網絡請求給客戶端等等等等。這就是一般一個程序的流程。那麼咱們也知道,在程序的運行過程當中可能會出現一些咱們在編寫程序的時候並無意料到的問題,那遇到這些問題的時候,咱們可能但願程序不要直接Crash,而是能夠輸出一些信息提示咱們有問題,或者不要crash而是進行第二次嘗試等,因此Python提供了一個Exception類來把大部分已有的Exception歸類,而且提供try/except來讓用戶進行異常的處理。 這就是一個程序的幾乎所有的流程。框架

那麼之因此咱們可使用到List Tuple Dict等等,而不用二進制或者彙編來表示咱們想要的數據結構,是由於Python提供了標準庫,也就是Standard Library。這個標準庫定義了咱們剛剛提到的前兩類數據結構,定義了不少平常會用到的操做,好比針對字符串的查找,大小寫檢查,split等等,好比針對數學上的求共軛數,求冪等等。由於有了這個庫,咱們才能更方便的寫程序,而不用本身從頭開始定義一些經常使用又很基礎的方法(method)。編程語言

除了標準庫以外,不少的開發者還開發出了許多有用又穩定的第三方庫,好比pandas,sqlalchemy等等,這些庫能夠幫助你們更好更快速地開發。標準庫和第三方庫給全部的開發者提供了各方面的支持,是開發過程當中不可或缺的部分。

以上是我對Python和編程語言的理解,若是有問題,歡迎你們批評指正。

相關文章
相關標籤/搜索