天天看點

2.程式設計語言與python介紹

目錄:

  • 一 引子
  • 二 程式設計語言分類
  • 2.1 機器語言
  • 2.2 彙編語言
  • 2.3 進階語言
  • 2.3.1 編譯型 (如C語言)
  • 2.3.2 解釋型 (如Python)
  • 2.4 總結
  • 三 python介紹
  • 3.1 Python解釋器的發展史
  • 3.2 Python解釋器有哪些種類?
  • 四 安裝Cpython解釋器
  • 4.1、下載下傳python解釋器
  • 4.2、安裝python解釋器
  • 4.3、測試安裝是否成功
  • 五 第一個python程式
  • 5.1 運作python程式有兩種方式
  • 5.2 注釋
  • 六 IDE工具pycharm的使用
  • 6.1、什麼是IDE?為何要有IDE
  • 6.2、pychram安裝
  • 6.3、Pycharm建立檔案夾
  • 6.4、如何建立檔案并編寫程式執行

基于上一章所學,有了計算機硬體,再在硬體智商安裝好作業系統,我們就有了一個應用程式的運作平台,我們接下來的任務就是學習如何使用某款程式設計語言來開發應用程式。

二 程式設計語言分類:

2.程式設計語言與python介紹

 機器語言是站在計算機(奴隸)的角度,說計算機能聽懂/了解的語言,二計算機能直接了解的就是二進制指令,是以機器語言就是直接用二進制程式設計,折意味着機器語言是直接操作硬體的,是以機器語言屬于低級語言,此處的低級指的是底層,貼近計算機硬體(貼近代指需要詳細了解計算機硬體細節,直接控制硬體),詳細如下

#機器語言

  用二進制代碼0和1描述的指令稱為機器指令,由于計算機内部是基于二進制指令工作的,是以機器語言是直接控制計算機硬體的

  用機器語言編寫程式,程式設計人員要首先先書記所用計算機的全部指令代碼以及代碼的含義,然後在編寫程式時,程式員得自己處理每條指令和每一條書記的儲存配置設定和輸入輸出,還得記住程式設計過程中每部所使用的工作單元在何處何處狀态。這是一件十分繁瑣的工作,編寫程式話費的時間往往是實際運作時間的幾十倍或幾百倍,兒子,編出的程式全省些0和1的指令代碼,直覺性差,不便閱讀和書寫,還容易出錯,且依賴于具體的計算機硬體型号,局限性很大。除了計算機生産廠家的專業人員外,絕大多數的程式員已經不再去學習機器語言了。

#指令部分的示例

0000代表加載(LOAD)

0001代表存儲(STORE)

...

#暫存器部分的示例

0000代表暫存器A

0001代表暫存器B

#存儲器部分的示例

000000000000代表位址為0的存儲器

000000000001導表位址為1的存儲器

000000010000代表位址為16 的存儲器

100000000000代表位址為2^11的存儲器

#內建示例

​ 0000,0000,000000010000 代表 LOAD A, 16 0000,0001,000000000001 代表 LOAD B, 1 0001,0001,000000010000 代表 STORE B, 16 0001,0001,000000000001 代表 STORE B, 1[1] 總結機器語言 1,執行效率最高 編寫程式可以被電腦無障礙了解,直接運作,執行效率高 2,開發效率最低 複雜,開發效率低 3,跨平台性差 貼近,依賴具體的硬體,跨平台性差 2.2 彙編語言 彙編語言僅僅是用一個英文标簽代表一組二進制指令,毫無疑問,比起機器語言,彙編語言是一種進步,單彙編語言的本質仍然是直接操作硬體,是以彙編語言仍是比較低級的底層語言,貼近計算機硬體 總結彙編語言 1,執行效率高 相對于機器語言,使用英文标簽編寫程式相對簡單,執行效率高,但較之機器語言較低 2,開發效率低 仍然是直接操作硬體 ,比起機器語言來說,複雜度稍低,但依舊居高不下,是以開發效率依舊較低 3,跨平台性差 同樣依賴具體的硬體,跨平台性差 2.3 進階語言進階語言是站在人的(努力主)的角度,說人話,既用人類的字元去編寫程式,而人類的字元是在向作業系統發送指令,而非直接操作硬體,是以進階語言與作業系統打交道的,此處的進階指的是高層,開發者無需考慮硬體細節,因而開發效率可以得到極大的提升,但正因為進階語言離硬體較遠,更貼近人類語言,人類可以了解,而計算機則需要通過翻譯才能了解,是以執行效率會低于低級語言 按照翻譯的方式的不同,進階語言又分為兩種: 2.3.1 編譯型(如C語言): ​

2.程式設計語言與python介紹

 類似于谷歌翻譯,是吧程式所有代碼編譯成計算機能識别的二進制指令,之後作業系統會拿着編譯好的二進制指令直接操作硬體,詳細如下

#1,執行效率高

編譯是指應用源程式執行前,就将程式源代碼‘翻譯’成模闆代碼(既機器語言),

是以其模闆程式可以脫離其語言環境獨立執行,使用比較友善,執行效率較高

2.開發效率低:

應用程式一但要修改,必須先修改源代碼,然後重新編譯,生成新的模闆檔案才能執行,而在隻有模闆檔案而沒有源代碼,修改會很不友善,是以開發效率低于解釋型

3,跨平台性差

編譯型代碼是針對某一平台翻譯的,目前平台防疫的結果無法拿到不同的平台使用,針對不同的平台必須重新編譯,既跨平台性差

 #其他

現在大多數的程式設計語言都是編譯型的

編譯程式将源程式翻譯成目标程式後儲存在另一個檔案中,該模闆程式可脫離編譯程式直接在計算機上多次運作。

大多數軟體産品都是以模闆程式形式發行給使用者的,不僅便于直接運作,同時又使他人難于盜用其中的技術。

C,c++,Ada,Pascal都是編譯實作的

2.3.2 解釋型(如python):

類似同聲翻譯,需要有一個解釋器,解釋器會讀取程式代碼,一遍翻譯一邊執行,詳細如下

#1.執行效率低

解釋型語言的實作中,翻譯器并不産生模闆機器代碼,而是産生易于執行的中間代碼。

這種中間代碼于機器代碼是不同的,中間代碼的解釋是由軟體支援的,不能直接使用硬體,

軟體解釋器通常會導緻執行效率較低。

#2,開發效率高

用解釋型語言編寫的程式時由另一個可以了解中間代碼的解釋程式執行的,與編譯程式不同的是,,解釋程式的任務時逐一将源程式的語句解釋成可以執行的機器指令,不需要将源程式翻譯成目标代碼再執行,解釋程式的有點是當語句出現文法錯誤時,可以立即引起程式員的注意,二程式員程式開發期間能夠進行校正

#3,跨平台性強

代碼運作是依賴解釋器,不同平台有對于版本的機器,是以解釋型的跨平台性強

# 其他

對于解釋型Basic語言,需要一個專門的解釋器解釋執行basic程式,每條語句隻有執行時才會翻譯,這種解釋型語言每執行一次就翻譯一次,因而效率低下,一般地,動态語言都是解釋型的,

列入:tcl,perl,ruby,VBScript,JavaScript等

ps:混合型語言

java是一類特殊的程式設計語言,java程式也需要編譯,但是卻沒有直接編譯為機器語言,而是編譯為位元組碼,然後再java虛拟機上解釋方式執行位元組碼

綜上選擇不同程式設計語言來開發應用程式對比

#1,執行效率:機器語言》彙編語言》進階語言(編譯型》解釋型)

#2 開發效率: 機器語言《彙編語言《進階語言(編譯型《解釋型)

#3,跨平台性: 解釋型具有極強的跨平台性

由于我們開發的是應用程式,而應用程式必須運作某一個平台之上,應用程式的快慢受限于平台(就好比F1賽區與寶馬車同時泡在北京五環高速,都先受限于道路環境,車速是差不多的)的快慢,并不是單從語言層面就可以提升整體執行效率,于是開發效率,跨平台性才是我們需要優先考慮的問題,這就是我們首先python的原因

談及python,設計兩層意思,一層代表的是python這門語言的文法風格,另外一層代表的則是專門用來解釋改文法風格的應用程式:python解釋器

python的創始人為吉多 範羅蘇姆,python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus,他希望這個新的叫做Python的語言,能符合她的理想:創造一種c和shell之間,文法能夠shell一樣簡潔,易學易用,可擴充性強,同時兼顧c的強大功能,于是Guido在1989年的聖誕節期間,開始編寫能夠解釋python語言文法的解釋器。

python崇尚有沒,清晰,簡單,是一個優秀并廣泛使用的語言,最新的Tiobe排行榜,python已飙升時間第三。

 python可以應用于衆多領域,如:人工智能,資料分析,爬蟲,金融量化,雲計算,web開發,自動化運維/測試,遊戲開發,網絡服務,圖像處理等衆多領域,目前幾乎所有大中型網際網路企業都在使用python,如:YouTube,Dropbox,bt,quora(中國知乎),豆瓣,知乎,google,yahoo!,facebook,nasa,百度,騰訊,汽車之家,美團等。