- Python編程完全入門教程
- (希)阿里斯提德·波拉斯 盧卡雅·阿伊納羅斯托
- 8字
- 2020-05-18 16:05:39
第一部分 入門知識
第1章 計算機是如何工作的
1.1 引言
現如今,幾乎所有工作需要用到計算機。在學校,學生用計算機上網搜索、發送郵件;在工作中,人們用計算機制作報告、分析數據并與客戶通信;在家中,人們用計算機玩游戲,與世界各地的人聊天。當然,別忘了還有智能手機,比如iPhone。智能手機也是計算機!
計算機之所以能執行如此多的任務,是因為它們具有編程能力。換句話說,計算機可以執行程序希望它執行的任何任務。程序是計算機為了執行特定任務所需遵循的一組語句(通常稱為指令或者命令)。
程序(通常又被稱為“應用軟件”)對于計算機來說是必不可少的。沒有程序,計算機就無法做任何事情。實際上,是程序告訴計算機做什么、何時去做。程序員或軟件開發者就是設計、創建并且測試計算機程序的人。
本書將使用Python語言為你介紹計算機編程的基本概念。
1.2 什么是硬件
術語“硬件”是指組成計算機的所有設備或組件。如果你曾打開過計算機或筆記本電腦外殼,就會發現里面有許多組件,如中央處理器(CPU)、內存和硬盤。計算機不是一個簡單的設備,而是由多個設備一起組成的系統。典型計算機系統的基本組件如下。
(1)中央處理器(CPU)。這是計算機實際執行程序中定義的所有任務的元件(基本算術、邏輯運算和輸入/輸出操作)。
(2)主存(RAM,隨機存取存儲器)。這是計算機中存放程序(正被執行或運行)和程序正在處理的數據的區域。當你關閉計算機或者將其電源從壁裝電源插座拔下時,所有存儲在RAM中的程序和數據都將丟失。
(3)輔助存儲設備。通常是指硬盤,有時(但很少)是指CD/DVD驅動器。與主存相反,即使計算機斷電了,這種類型的存儲器也可以長時間保存數據。但是,存放在這種存儲器中程序不能直接執行,必須首先轉移到更快的內存(主存)中才可以。
(4)輸入設備。輸入設備是指從計算機外部收集數據并將其輸入到計算機中進行處理的所有設備。鍵盤、鼠標和麥克風都是輸入設備。
(5)輸出設備。輸出設備是指將數據輸出到計算機外部的設備。顯示器(屏幕)和打印機都是輸出設備。
1.3 什么是軟件
計算機所做的一切都是由軟件控制的。軟件分為兩類:系統軟件和應用軟件。
系統軟件是控制和管理計算機基本操作的程序。例如,系統軟件控制計算機的內部操作,管理連接的所有設備,保存數據,加載數據,允許計算機執行其他程序。Windows、Linux、macOS X、Android和iOS都屬于系統軟件。這類軟件的另一個術語叫作“操作系統”。
應用軟件是指用于處理日常任務的所有其他程序,如網絡瀏覽器、文字處理器、記事本和游戲等。
1.4 計算機如何執行(運行)程序
當你打開計算機時,主存(RAM)是空的。計算機要做的第一件事就是將操作系統從硬盤加載到主存(RAM)中。
操作系統被加載到主存之后,可以執行(運行)任何你希望運行的程序(應用軟件)。通常通過單擊、雙擊或者輕觸相應的程序圖標完成。例如,假如你單擊最喜歡的文本處理器的圖標,這個動作命令你的計算機將文字處理程序從硬盤加載(或復制)到主存以便CPU執行它。
請記住!程序存儲在輔助存儲設備(如硬盤)上。在計算機上安裝程序時,該程序實際上將被復制到硬盤上。執行程序時,程序將被從硬盤復制(加載)到主存(RAM)中,然后程序的副本被執行。
提示:術語“執行”和“運行”是相同的意思。
1.5 編譯器和解釋器
計算機只能執行使用嚴格定義的計算機語言編寫的程序。你不能使用自然語言(如英語或希臘語)編寫程序,因為你的計算機無法理解這些語言!
計算機實際上能夠理解什么語言呢?計算機可以理解一種稱為“機器語言”的特殊的低級語言。在機器語言中,所有語句(或命令)都是由0和1組成的。下面的程序示例使用機器語言編寫,用來計算兩個數字之和:
0010000100000100 0001000100000101 0011000100000110 0111000000000001
震驚嗎?別擔心,你不需要這樣編寫程序。希望再也沒有人用這種方式編寫計算機程序了。現在,所有程序員都是用高級語言編寫程序,然后用一種特殊的程序將它們翻譯成機器語言。程序員使用兩種程序執行翻譯過程:編譯器和解釋器。
編譯器是一種程序,可以把用高級語言編寫的程序翻譯成單獨的機器語言程序。然后,程序員就可以隨時執行該機器語言程序了。執行翻譯后,不需要編譯器再次翻譯該程序。
解釋器是一種程序,同時翻譯和執行使用高級語言編寫的程序。當解釋器讀取程序中每條單獨的語句時,它將其翻譯成機器語言代碼,然后直接執行它,對程序中的每條語句都要重復這個過程。
1.6 什么是源代碼
程序員用高級語言編寫的語句(通常被稱為指令或者命令)稱為“源代碼”,或簡稱“代碼”。程序員先將源代碼輸入到一個稱為代碼編輯器的程序中,然后用編譯器將其翻譯成機器語言程序,或者用解釋器同時翻譯和執行程序。Eclipse是一個集成開發環境(IDE)例子,允許程序員編寫和執行源代碼。你將在第3章了解到更多關于Eclipse的內容。