
簡單來說,就是編寫編定程序,讓計(jì)算機(jī)代碼解決某個(gè)問題,對(duì)某個(gè)計(jì)算體系規(guī)定一定的運(yùn)算方式。
所謂編程,就是:讓計(jì)算機(jī)根據(jù)你設(shè)定好的流程去做事。
計(jì)算機(jī)又俗稱為電腦。這樣的稱呼,其實(shí)就是把計(jì)算機(jī)當(dāng)做人類類比了。
那我們?nèi)祟愂窃趺礃幼寗e人來做事情?用嘴、寫信、發(fā)短信、發(fā)微信、這些使用什么?語言?。?!
同樣,只有特定的計(jì)算機(jī)能聽懂的語言,就是編程語言
為什么先學(xué)python?
編程語言有這么多種,我們?yōu)槭裁葱枰v解編程基礎(chǔ)入門選擇Python呢?
容易學(xué)
Python語言本身簡單易學(xué)(相比其他:如C C++ java編程語言),可以很快上手
首先,因?yàn)樗某橄蠹?jí)別更加高級(jí),更加接近我們?nèi)祟惖淖匀徽Z言和平常的思維方法。相對(duì)容易學(xué)習(xí)
其次,Python語言具有豐富的'內(nèi)置庫和海量的第三方庫。使得我們不需要重新先開發(fā)各種應(yīng)用庫,站在巨人的肩膀上,拿來就用,有時(shí)候就像搭積木一樣。
有人說:很多情況下完成同樣的事情,C語言需要1000行代碼,java需要200行,而python呢?僅僅只需要50行代碼,可能略顯夸張,但是這個(gè)也從一個(gè)方面反映了python相對(duì)容易上手
目前國內(nèi)外好多學(xué)校已經(jīng)逐漸普及python教學(xué)
學(xué)習(xí)這門語言之后,能夠做些什么呢?
例如:
1、工具開發(fā)(包括工具開發(fā))
IT行業(yè)的工作人員,有大量的重復(fù)性工作。我們可以使用python開發(fā)出一些工具,來幫我們完成。例如:代碼打包,部署生產(chǎn)環(huán)境,備份數(shù)據(jù)
從網(wǎng)站抓取數(shù)據(jù)進(jìn)行分析等。
對(duì)測試人員來說,測試工具是不可獲取的,很多情況下都可以使用Python快速的開發(fā)
2、web服務(wù)
現(xiàn)在web服務(wù)的需求已經(jīng)非常的'普遍,對(duì)網(wǎng)站的開發(fā)量需求也在不斷增加,有了python語言的基礎(chǔ),再去學(xué)習(xí)一些web框架,成為初級(jí)web后端開發(fā)人員問題不大
常見的python web服務(wù)應(yīng)用框架有:
Django、Flask、Torndo、Pyramid、Bottle
有人說python不適合開發(fā)大型網(wǎng)站。那么是不是這樣,實(shí)際上請(qǐng)看下面網(wǎng)站,有些事億級(jí)用戶的
他們的后端應(yīng)用框架都是基于python的
youtube、豆瓣、知乎
編譯型語言和解釋型語言
程序語言有很多種,大家或許聽說過匯編,C、C++、java、Ruby、python、C#、JavaScript等等
其實(shí)對(duì)于計(jì)算機(jī)CPU來說,上面的語言它一個(gè)也聽不懂。那它懂得是什么?其實(shí)是二進(jìn)制機(jī)器碼(機(jī)器語言),有和1組成的代碼串。
而且不懂得架構(gòu)cpu懂得的二進(jìn)制機(jī)器碼是不同的。比如ARM和x86的CPU
早期的程序員,真的就是通過帶有孔洞的卡帶來讓遠(yuǎn)古計(jì)算機(jī)干活的。有孔的地方為1,無孔的地方為零
回到我們上面一個(gè)問題,像匯編,C,C++這樣的語言,最終是通過編譯器編譯鏈接成了機(jī)器代碼(可執(zhí)行文件)直接說給cpu聽
而python、Ruby這樣的語言,則通常由一個(gè)叫做解釋器的軟件,翻譯過來給CPU聽。
1、簡單的說,“編程就是指導(dǎo)計(jì)算機(jī)執(zhí)行任務(wù)的行為”。編程通常被認(rèn)為是編碼。
2、當(dāng)我們使用智能手機(jī)的時(shí)候,有部分代碼運(yùn)行的在后臺(tái)不可見的。再比如在電腦上將鼠標(biāo)從一個(gè)地方移動(dòng)到另一個(gè)地方,看起來很簡單,但實(shí)際上,這需要運(yùn)行很多行代碼。
3、在Google Docs上輸入文字這樣一個(gè)看似簡單的操作,在后臺(tái)也需要運(yùn)行相當(dāng)多的代碼。代碼隨處可見。
4、就像人類一樣,機(jī)器也有屬于他們的自然語言。但計(jì)算機(jī)無法理解人類的'語言。計(jì)算機(jī)的自然語言實(shí)際上是二進(jìn)制代碼(binary code)——1和0。它們代表了兩種狀態(tài):有(1)和無(0)。
5、為了和這些只講二進(jìn)制語言的機(jī)器交流,我們需要一種與我們的自然語言(比如英語、法語、阿拉伯語或斯瓦希里語。)比較接近的語言。程序設(shè)計(jì)語言就是一種和人類語言相近的語言。但是它們跟加結(jié)構(gòu)化而且必須完全學(xué)會(huì)才能夠使用它們。
6、程序設(shè)計(jì)語言可能是高級(jí)程序設(shè)計(jì)語言或是低級(jí)程序設(shè)計(jì)語言。高級(jí)語言與機(jī)器語言的差別要比低級(jí)語言更大。
7、計(jì)算機(jī)程序通常也被叫做應(yīng)用程序(Apps)。我們經(jīng)常會(huì)把程序和它們所運(yùn)行的、或者設(shè)計(jì)運(yùn)行的平臺(tái)或者環(huán)境聯(lián)系起來。
機(jī)器語言
在計(jì)算機(jī)系統(tǒng)中,一條機(jī)器指令規(guī)定了計(jì)算機(jī)系統(tǒng)的一個(gè)特定動(dòng)作。一個(gè)系列的計(jì)算機(jī)在硬件設(shè)計(jì)制造時(shí)就用了若干指令規(guī)定了該系列計(jì)算機(jī)能夠進(jìn)行的基本操作,這些指令一起構(gòu)成了該系列計(jì)算機(jī)的指令系統(tǒng)。
在計(jì)算機(jī)應(yīng)用的初期,程序員使用機(jī)器的指令系統(tǒng)來編寫計(jì)算機(jī)應(yīng)用程序,這種程序稱為機(jī)器語言程序。使用機(jī)器語言編寫的程序,由于每條指令都對(duì)應(yīng)計(jì)算機(jī)一個(gè)特定的基本動(dòng)作,所以程序占用內(nèi)存少、執(zhí)行效率高。
缺點(diǎn)也很明顯,如:編程工作量大,容易出錯(cuò);依賴具體的計(jì)算機(jī)體系,因而程序的通用性、移植性都很差。
匯編語言
文件系統(tǒng)驅(qū)動(dòng)編程流程
為了解決使用機(jī)器語言編寫應(yīng)用程序所帶來的一系列問題,人們首先想到使用助記符號(hào)來代替不容易記憶的機(jī)器指令。這種助記符號(hào)來表示計(jì)算機(jī)指令的語言稱為符號(hào)語言,也稱匯編語言。在匯編語言中,
每一條用符號(hào)來表示的匯編指令與計(jì)算機(jī)機(jī)器指令一一對(duì)應(yīng);記憶難度大大減少了,不僅易于檢查和修改程序錯(cuò)誤,而且指令、數(shù)據(jù)的存放位置可以由計(jì)算機(jī)自動(dòng)分配。用匯編語言編寫的程序稱為源程序,
計(jì)算機(jī)不能直接識(shí)別和處理源程序,必須通過某種方法將它翻譯成為計(jì)算機(jī)能夠理解并執(zhí)行的機(jī)器語言,執(zhí)行這個(gè)翻譯工作的程序稱為匯編程序。
匯編程序
匯編程序。使用匯編語言編寫計(jì)算機(jī)程序,程序員仍然需要十分熟悉計(jì)算機(jī)系統(tǒng)的硬件結(jié)構(gòu),所以從程序設(shè)計(jì)本身上來看仍然是低效率的、繁瑣的。但正是由于匯編語言與計(jì)算機(jī)硬件系統(tǒng)關(guān)系密切,在某些特定的場合,
如對(duì)時(shí)空效率要求很高的系統(tǒng)核心程序以及實(shí)時(shí)控制程序等,迄今為止匯編語言仍然是十分有效的程序設(shè)計(jì)工具。
文檔為doc格式