python计算入门_Python入门教程02-01(计算机核心基础)
python入門課程第二章-計(jì)算機(jī)核心基礎(chǔ)
Python入門教程01-01(ATM+購(gòu)物車)學(xué)習(xí)過(guò)后,我們需要了解一下計(jì)算機(jī)的核心基礎(chǔ),目標(biāo)就是為了讓后面更好的理解python這門語(yǔ)言,更容易接受后續(xù)新的課程難點(diǎn)。下面我們來(lái)一起學(xué)習(xí)第二章吧~~~~
一 引子:
接下來(lái)一段時(shí)間,我們的目標(biāo)的是:學(xué)會(huì)使用python這門編程語(yǔ)言來(lái)編寫ATM+購(gòu)物車程序,那么問(wèn)題來(lái)了:
1.1 什么是語(yǔ)言?什么是編程語(yǔ)言?為何要有編程語(yǔ)言?
語(yǔ)言其實(shí)就是人與人之間溝通的介質(zhì),如英語(yǔ),漢語(yǔ),俄語(yǔ)等。
而編程語(yǔ)言則是人與計(jì)算機(jī)之間溝通的介質(zhì)。
那么為何要有編程語(yǔ)言,或者說(shuō)人為何要與計(jì)算機(jī)溝通呢?這是因?yàn)樵诰幊痰氖澜缋?#xff0c;計(jì)算機(jī)就好比是人的奴隸,人與計(jì)算機(jī)溝通的目的就是為了奴役計(jì)算機(jī),讓計(jì)算機(jī)按照人類的思維邏輯自發(fā)地去工作從而把人力解放出來(lái)。
此處我們可以提煉出如下兩個(gè)重要的概念
1.2 什么是編程?為什么要編程?
編程就是人把自己想命令計(jì)算機(jī)干的事用編程語(yǔ)言翻譯出來(lái)并寫到文件里(這一系列的文件就是程序),那么為什么要編程?
小人類編程的目的就是為了讓計(jì)算機(jī)按照人類的思維邏輯(程序)自發(fā)地去工作從而把人力解放出來(lái)。
綜上,我們接下來(lái)的學(xué)習(xí)應(yīng)該分為兩個(gè)層面
1、為了更好地控制人類的奴隸(即計(jì)算機(jī)),我們需要學(xué)習(xí)計(jì)算機(jī)是由什么組成的、它能做什么事、它是怎樣工作的(詳見(jiàn)計(jì)算機(jī)組成原理、操作系統(tǒng)概述)
2、我們需要學(xué)習(xí)編程語(yǔ)言,從而把原來(lái)需要人力來(lái)完成的業(yè)務(wù)(比如ATM和購(gòu)物)交給計(jì)算機(jī)去做
二 計(jì)算機(jī)組成原理2.1、什么是計(jì)算機(jī)?
俗稱電腦,即通電的大腦,電腦二字蘊(yùn)含了人類對(duì)計(jì)算機(jī)的終極期望,希望它能真的像人腦一樣去工作,從而解放人力。
2.2、為什么要用計(jì)算機(jī)?
世界是由聰明的懶人統(tǒng)治的,任何時(shí)期,總有一群聰明的懶人想要奴隸別人。在奴隸制社會(huì),聰明的懶人奴役的是真正的人,而人是無(wú)法不吃、不喝、不睡覺(jué)一直工作的,但是計(jì)算機(jī)作為一臺(tái)機(jī)器是可以做到的,所以把計(jì)算機(jī)當(dāng)奴隸是上上之選。
2.3、計(jì)算機(jī)的五大組成部分
計(jì)算機(jī)有五大組成部分,既然計(jì)算機(jī)是人的奴隸,那么計(jì)算機(jī)設(shè)計(jì)核心肯定也是在模仿真正的人,所以我們完全可以把計(jì)算機(jī)的五大組件比喻成人類的各種器官
2.3.1、控制器
控制器是計(jì)算機(jī)的指揮系統(tǒng),用來(lái)控制計(jì)算機(jī)其他組件的運(yùn)行,相當(dāng)于人類的大腦
2.3.2、運(yùn)算器
運(yùn)算器是計(jì)算機(jī)的運(yùn)算功能,用來(lái)做算術(shù)運(yùn)算和邏輯運(yùn)算,相當(dāng)于人腦。
ps:控制器+運(yùn)算器=CPU,cpu相當(dāng)于人的大腦
cpu詳解見(jiàn)附錄1
2.3.3、存儲(chǔ)器
存儲(chǔ)器是計(jì)算機(jī)的記憶功能,用來(lái)存取數(shù)據(jù)。
存儲(chǔ)器主要分為內(nèi)存與外存:
內(nèi)存相當(dāng)于人的短期記憶。斷電數(shù)據(jù)丟失
外存(如磁盤),相當(dāng)于記事的本子,斷電數(shù)據(jù)不會(huì)丟失,是用來(lái)永久保存數(shù)據(jù)的
ps:內(nèi)存的存取速度要遠(yuǎn)遠(yuǎn)高于外存
2.3.4、輸入設(shè)備input
輸入設(shè)備是計(jì)算接收外界輸入數(shù)據(jù)的工具,如鍵盤、鼠標(biāo),相當(dāng)于人的眼睛或耳朵。
2.3.5、輸出設(shè)備output
輸出設(shè)備是計(jì)算機(jī)向外輸出數(shù)據(jù)的工具,如顯示器、打印機(jī),相當(dāng)于人說(shuō)的話,寫出的文章。
ps:存儲(chǔ)器如內(nèi)存、磁盤等既是輸入設(shè)備又是輸出設(shè)備,統(tǒng)稱為IO設(shè)備
一個(gè)非常重要的基礎(chǔ)知識(shí):與運(yùn)行程序相關(guān)的三大核心硬件
我們編寫的程序一定是要運(yùn)行于計(jì)算機(jī)硬件之上,而站在硬件的角度,與運(yùn)行程序有關(guān)的三大核心硬件為CPU、內(nèi)存、硬盤。
程序最先是存放于硬盤中的,程序的運(yùn)行是先從硬盤把代碼加載到內(nèi)存中,然后cpu是從內(nèi)存中讀取指令運(yùn)行。
三 操作系統(tǒng)概述3.1、操作系統(tǒng)的由來(lái)
大前提:我們編程目的就是為了奴役計(jì)算機(jī),讓計(jì)算機(jī)硬件自發(fā)地運(yùn)行起來(lái),然而硬件畢竟是”死的“,硬件的運(yùn)行都是由軟件支配。
倘若我們要開(kāi)發(fā)一個(gè)應(yīng)用程序,比如暴風(fēng)音影,該軟件的一個(gè)核心業(yè)務(wù)就是播放視頻,開(kāi)發(fā)者若要編寫程序完成播放視頻這個(gè)業(yè)務(wù)邏輯,必先涉及到底層硬件硬盤的基本運(yùn)作(視頻文件都是先存放于硬盤中),這意味著開(kāi)發(fā)者在編寫業(yè)務(wù)邏輯代碼之前,必須先編寫一個(gè)控制硬盤基本運(yùn)行的控制程序,然而這僅僅只是一個(gè)開(kāi)始,事實(shí)上,在編寫應(yīng)用程序的業(yè)務(wù)邏輯前,需要開(kāi)發(fā)者編寫出一套完整的控制程序用來(lái)控制所有硬件的基本運(yùn)行(這要求開(kāi)發(fā)者需要詳細(xì)了解計(jì)算機(jī)硬件的各種控制細(xì)節(jié),例如我們必須把CPU里面所有指令集都掌握一遍),如此,所有的開(kāi)發(fā)者在開(kāi)發(fā)程序時(shí)都必須依次開(kāi)發(fā)兩種:
#1、編寫一套完整的的控制程序,用來(lái)控制硬件的基本運(yùn)行,以及把復(fù)雜的硬件的操作封裝成簡(jiǎn)單的接口
#2、基于控制程序的接口開(kāi)發(fā)包含一系列業(yè)務(wù)邏輯的程序,為了與控制程序區(qū)分,可以稱為應(yīng)用程序,以ATM這款應(yīng)用程序?yàn)槔?#xff0c;業(yè)務(wù)邏輯有提款、轉(zhuǎn)賬、查詢余額等
綜上,對(duì)于不同公司的開(kāi)發(fā)者來(lái)說(shuō),應(yīng)用程序的業(yè)務(wù)邏輯各不相同,但硬件的控制程序都大致相同,為了避免所有程序員做重復(fù)勞動(dòng),以及不用再耗費(fèi)精力去了解所有硬件的運(yùn)行細(xì)節(jié),有公司專門跳出來(lái)承擔(dān)起控制程序的開(kāi)發(fā)任務(wù),這里所說(shuō)的控制程序指的就是操作系統(tǒng)。
操作系統(tǒng)的功能就是幫我們把復(fù)雜的硬件的控制封裝成簡(jiǎn)單的接口,對(duì)于開(kāi)發(fā)應(yīng)用程序來(lái)說(shuō)只需要調(diào)用操作系統(tǒng)提供給我們的接口即可
3.2、系統(tǒng)軟件與應(yīng)用軟件
硬件以上運(yùn)行的都是軟件,而軟件分為兩類:
#一、應(yīng)用軟件(例如qq、word、暴風(fēng)影音,我們學(xué)習(xí)python就是為了開(kāi)發(fā)應(yīng)用軟件的)
#二、操作系統(tǒng),操作系統(tǒng)應(yīng)用軟件與硬件之間的一個(gè)橋梁,是協(xié)調(diào)、管理、控制計(jì)算機(jī)硬件與應(yīng)用軟件資源的控制程序。
3.3、計(jì)算機(jī)系統(tǒng)三層結(jié)構(gòu)
綜上,我們開(kāi)發(fā)應(yīng)用程序本質(zhì)是在控制硬件,但是我們直接打交道的是操作系統(tǒng),應(yīng)用程序都是通過(guò)操作系統(tǒng)來(lái)間接地操作硬件的,所以一套完整的計(jì)算機(jī)系統(tǒng)分為三層,如下
一個(gè)非常重要的基礎(chǔ)概念:平臺(tái)
應(yīng)用程序都是運(yùn)行于操作系統(tǒng)之上,而操作系統(tǒng)則是運(yùn)行于硬件之上的,所以承載應(yīng)用程序的是一臺(tái)運(yùn)行有操作系統(tǒng)的計(jì)算機(jī),稱之為應(yīng)用程序的運(yùn)行平臺(tái),即:硬件 + 操作系統(tǒng) == 平臺(tái)
常見(jiàn)的平臺(tái)有:windows系統(tǒng)+某款硬件、linux系統(tǒng)+某款硬件、ubuntu+某款硬件等,我們?cè)陂_(kāi)發(fā)應(yīng)用程序時(shí)就需要考慮到應(yīng)用程序的跨平臺(tái)性,如果能開(kāi)發(fā)出一款可以在任意平臺(tái)運(yùn)行的應(yīng)用程序,那對(duì)于開(kāi)發(fā)者來(lái)說(shuō)真是極大的福音。而決定應(yīng)用軟件的跨平臺(tái)性的關(guān)鍵因素往往是編程語(yǔ)言的選擇,python恰好是一款跨平臺(tái)性語(yǔ)言,這也是我們學(xué)習(xí)它的原因之一。
總結(jié)
以上是生活随笔為你收集整理的python计算入门_Python入门教程02-01(计算机核心基础)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python中复选框取消修改_pytho
- 下一篇: python10086查询系统_Pyth