2 程式語言與python介紹

2022-09-09 23:57:24 字數 4136 閱讀 1408

目錄:

2.4 總結

三 python介紹

四 安裝cpython直譯器

4.2、安裝python直譯器

4.3、測試安裝是否成功

五 第乙個python程式

六 ide工具pycharm的使用

一 引子

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

二 程式語言分類:

2.1 機器語言

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

#機器語言

用二進位制**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語言):

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

#1,執行效率高

編譯是指應用源程式執行前,就將程式源**『翻譯』成模板**(既機器語言),

因此其模板程式可以脫離其語言環境獨立執行,使用比較方便,執行效率較高

2.開發效率低:

應用程式一但要修改,必須先修改源**,然後重新編譯,生成新的模板檔案才能執行,而在只有模板檔案而沒有源**,修改會很不方便,所以開發效率低於解釋型

3,跨平台性差

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

#其他現在大多數的程式語言都是編譯型的

編譯程式將源程式翻譯成目標程式後儲存在另乙個檔案中,該模板程式可脫離編譯程式直接在計算機上多次執行。

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

c,c++,ada,pascal都是編譯實現的

2.3.2 解釋型(如python):

類似同聲翻譯,需要有乙個直譯器,直譯器會讀取程式**,一遍翻譯一邊執行,詳細如下

#1.執行效率低

解釋型語言的實現中,翻譯器並不產生模板機器**,而是產生易於執行的中間**。

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

軟體直譯器通常會導致執行效率較低。

#2,開發效率高

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

#3,跨平台性強

**執行是依賴直譯器,不同平台有對於版本的機器,所以解釋型的跨平台性強

# 其他

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

列入:tcl,perl,ruby,vbscript,j**ascript等

ps:混合型語言

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

2.4 總結

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

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

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

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

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

三 python介紹

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

python的創始人為吉多 範羅蘇姆,python這個名字,來自guido所摯愛的電視劇集monty python』s flying circus,他希望這個新的叫做python的語言,能符合她的理想:創造一種c和shell之間,語法能夠shell一樣簡潔,易學易用,可擴充套件性強,同時兼顧c的強大功能,於是guido在2023年的聖誕節期間,開始編寫能夠解釋python語言語法的直譯器。

python崇尚有沒,清晰,簡單,是乙個優秀並廣泛使用的語言,最新的tiobe排行榜,python已飆公升時間第三。

Python 程式語言詳細介紹

目錄 前言 python是世界上最流行的解釋型程式設計語程式設計客棧言之一。python 由guido van rossum設計,作為 abc 程式語言的繼承者,於 1991 年首次發布。它是一種高階通用語言,其設計理念是通過使用縮進來強調 的可讀性。python 的語言結構旨在幫助程式設計師為小型...

python入門 程式語言的介紹

機器語言 直接使用二進位制指令編寫程式 優點 執行效率高 缺點 開發效率低 組合語言 用英文標籤取代二進位制指令去編寫程式 優點 執行效率高 缺點 開發效率低 高階語言 用人類可以理解的表達方式去編寫程式,計算機無法理解,必須經過翻譯 編譯型 go,c 解釋型 python,shell python...

程式語言介紹

1 機器語言 直接用二進位制程式設計,直接控制硬體,需要掌握硬體的操作細節 優點 執行效率高 缺點 開發效率低,學習難度高,不易理解 2 組合語言 用英文標籤取代二進位制去編寫程式,直接控制硬體,需要掌握硬體的操作細節 優點 開發效率比機器語言高 缺點 任然沒有改變直接操作硬體的本質,執行效率高,但...