1,什么是編程?為什么要編程?
答:編程是個(gè)動(dòng)詞,編程就等于寫代碼,那么寫代碼是為了什么呢?也就是為什么要編程呢,肯定是為了讓計(jì)算機(jī)幫我們搞事情,代碼就是計(jì)算機(jī)能理解的語言。
2,編程語言進(jìn)化史是什么?
答:機(jī)器語言------>匯編語言------>高級(jí)語言
機(jī)器語言:由于計(jì)算機(jī)內(nèi)部只能接受二進(jìn)制代碼,因此,用二進(jìn)制代碼0和1描述的指令稱為機(jī)器指令,全部機(jī)器指令的集合構(gòu)成計(jì)算機(jī)的機(jī)器語言,機(jī)器語言屬于低級(jí)語言。
匯編語言:其實(shí)質(zhì)和機(jī)器語言是相同的,都是直接對(duì)硬件操作,只不過指令采取了英文縮寫的標(biāo)識(shí)符,更容易識(shí)別和記憶。
高級(jí)語言:是大多數(shù)編程人員的選擇,和匯編語言相比,他不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作相關(guān)但與完成工作無關(guān)的細(xì)節(jié),高級(jí)語言主要是相對(duì)于匯編語言而言,它并不是特指某一種具體的語言,而是包含了許多編程語言。如C/C++,JAVA,PHP,PYTHON等都屬于高級(jí)語言。
機(jī)器語言:優(yōu)點(diǎn)是最底層,速度快,缺點(diǎn)是復(fù)雜,開發(fā)效率低
匯編語言:優(yōu)點(diǎn)是比較底層,速度快,缺點(diǎn)是復(fù)雜,開發(fā)效率低
高級(jí)語言:編譯型語言執(zhí)行速度快,不依賴語言環(huán)境運(yùn)行,跨平臺(tái)差
解釋型跨平臺(tái)比較好,一份代碼,到處使用,缺點(diǎn)是執(zhí)行效率慢,依賴解釋器運(yùn)行
相比于機(jī)器和匯編語言,高級(jí)語言對(duì)開發(fā)人員更友好,在開發(fā)效率上大大提高。
3,簡述編譯型與解釋型語言的區(qū)別,且分別列出你知道的哪些語言屬于編譯型,那些屬于解釋型
高級(jí)語言所編制的程序不能被計(jì)算機(jī)所知?jiǎng)e,必須講過轉(zhuǎn)換才能被執(zhí)行,按照轉(zhuǎn)換方式,可以將其分為兩類,一類是編譯類,一類是解釋類
編譯類:就是在應(yīng)用源碼程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語言),因此其目標(biāo)程序可以脫離其語言環(huán)境獨(dú)立執(zhí)行。使用比較方便,效率也高,但是應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)(*.obj,也就是OBJ文件)才能執(zhí)行,只有目標(biāo)文件而沒有源代碼,修改很不方便。
特點(diǎn):編譯后程序運(yùn)行時(shí)不需要重新翻譯,直接使用編譯的結(jié)果就行了。程序執(zhí)行效率高,依賴編譯器,跨平臺(tái)性比較差,如C,C++,Delphi等
優(yōu)點(diǎn):1,執(zhí)行程序時(shí)候,不需要源代碼,不依賴語言環(huán)境,因?yàn)閳?zhí)行的是機(jī)器源文件。
2,執(zhí)行速度快,因?yàn)槌绦虼a已經(jīng)翻譯成計(jì)算機(jī)可以理解的機(jī)器語言。
缺點(diǎn):1,每次修改了源代碼,需要重新編譯,生成機(jī)器編碼文件
2,跨平臺(tái)性不好,不同操作系統(tǒng),調(diào)用底層的機(jī)器指令不同,需要為不同的平臺(tái)生成不同的機(jī)器碼文件。
解釋類:執(zhí)行方式類似于我們生活中的“同聲翻譯”,應(yīng)用程序源代碼一邊由相應(yīng)語言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語言),一邊執(zhí)行,一邊翻譯,因此效率比較低。
特點(diǎn):效率低,不能生成獨(dú)立的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但是這種方式比較靈活,可以動(dòng)態(tài)的調(diào)整,修改應(yīng)用程序。如Python,Java,PHP,Ruby等語言。
優(yōu)點(diǎn):1,用戶調(diào)用解釋器,執(zhí)行源碼文件,而且可以隨時(shí)修改,立即見效,改完源代碼,直接運(yùn)行看結(jié)果
2,解釋器把源碼文件一邊解釋成機(jī)器指令,一邊交給CPU執(zhí)行,天生跨平臺(tái),因?yàn)榻忉屍饕呀?jīng)做好了對(duì)不同平臺(tái)的交互處理,用戶寫的源代碼不需要考慮平臺(tái)差異性。
缺點(diǎn):1,代碼是明文
2,運(yùn)行效率低,所有的代碼是需要解釋器邊解釋邊執(zhí)行,速度比編譯型慢很多。
以上內(nèi)容為大家介紹了Python語法編程,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。