官术网_书友最值得收藏!

1.1.3 Python語言的運(yùn)行方式

計(jì)算機(jī)只能識(shí)別機(jī)器碼,不能識(shí)別源代碼,因此在程序運(yùn)行前,需要把源代碼轉(zhuǎn)換成機(jī)器碼。按轉(zhuǎn)換過程可以把計(jì)算機(jī)語言分為解釋型語言和編譯型語言。

編譯型語言在程序運(yùn)行之前,通過編譯器將源代碼變成機(jī)器碼,如C語言。這種類型的語言運(yùn)行速度快,但是編譯過程需要花費(fèi)大量時(shí)間,開發(fā)效率較低,而且編譯后的機(jī)器碼不能跨平臺(tái)移植。

解釋型語言在程序運(yùn)行時(shí),通過解釋器對(duì)程序逐行翻譯,先翻譯為機(jī)器碼后再執(zhí)行,如JavaScript。相比于編譯型語言,解釋型語言開發(fā)效率更高,省去了編譯過程的時(shí)間,可以跨平臺(tái),但因?yàn)樵诔绦蜻\(yùn)行時(shí)需要先做翻譯,所以運(yùn)行速度較慢。

Python屬于解釋型語言,是為了提高運(yùn)行速度而使用的一種編譯的方法。編譯之后得到后綴為“.pyc”的文件,用于存儲(chǔ)字節(jié)碼(特定于Python語言的表現(xiàn)形式,不是機(jī)器碼)。在運(yùn)行期間使用編譯后的字節(jié)碼可以加快到機(jī)器碼翻譯過程,如圖1.2所示,Python源代碼在第一次運(yùn)行時(shí)編譯出字節(jié)碼,以后重復(fù)運(yùn)行時(shí)會(huì)直接使用字節(jié)碼,所以Python比一般的解釋型語言有更快的運(yùn)行速度。

圖1.2 Python語言的運(yùn)行方式

綜上所述,Python程序運(yùn)行前不需要編譯,運(yùn)行時(shí)通過Python解釋器逐行執(zhí)行,具體的運(yùn)行方式有如下3種。

1.交互解釋器模式(REPL)

在命令提示符(終端)界面中輸入“Python”,進(jìn)入交互解釋模式。在該模式中輸入Python程序后,只需按Enter鍵,即可得到運(yùn)行結(jié)果。

2.腳本模式

將Python程序?qū)懙胶缶Y為“.py”的腳本文件中,使用“python xx.py”,即可運(yùn)行文件中的程序,這種方式可以方便地重復(fù)運(yùn)行程序。

3.集成開發(fā)環(huán)境(IDE)

在集成開發(fā)環(huán)境中編寫Python程序,如PyCharm,其本質(zhì)和腳本模式相同,但無須手動(dòng)創(chuàng)建腳本文件,只需在圖形化界面中完成Python腳本的創(chuàng)建,也無須在命令行中輸入任何指令,在集成開發(fā)環(huán)境中即可“一鍵運(yùn)行”。

主站蜘蛛池模板: 贡觉县| 莱芜市| 炉霍县| 兴城市| 绥宁县| 萨嘎县| 焉耆| 腾冲县| 台南县| 高雄县| 通渭县| 临城县| 武川县| 天台县| 新丰县| 新邵县| 朔州市| 湛江市| 吕梁市| 荃湾区| 岑巩县| 巫山县| 洱源县| 娄底市| 百色市| 汝阳县| 西乌珠穆沁旗| 苍南县| 环江| 乐清市| 威宁| 荣成市| 邓州市| 贵德县| 江源县| 达尔| 托克托县| 佛坪县| 进贤县| 洮南市| 靖安县|