Python是如何運(yùn)作的

這篇文章主要介紹“Python是如何運(yùn)作的”,在日常操作中,相信很多人在Python是如何運(yùn)作的問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”Python是如何運(yùn)作的”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)是專業(yè)的吳忠網(wǎng)站建設(shè)公司,吳忠接單;提供做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行吳忠網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

Python最初是Guido Van  Rossum在業(yè)余時(shí)開發(fā)的一個(gè)項(xiàng)目,于1991年首次發(fā)布。作為一門通用語言,Python為Netflix和Instagram等許多公司提供了強(qiáng)大支持。在一次采訪中,Guido將Python與Java/Swift等語言進(jìn)行了比較,他表示Java/Swift對(duì)于日常工作即是編程的軟件開發(fā)人員是一個(gè)不錯(cuò)的選擇,而Python針對(duì)的目標(biāo)用戶是日常工作與軟件開發(fā)無關(guān)的人,他們編寫代碼主要是為了處理數(shù)據(jù)。

Python是一種解釋型的高級(jí)通用性編程語言,具有動(dòng)態(tài)類型和垃圾回收功能。

解釋型語言

用C / C  ++編寫程序時(shí),必須進(jìn)行編譯。編譯是將人類可理解的代碼轉(zhuǎn)換為機(jī)器可理解的代碼即“機(jī)器代碼”。機(jī)器代碼是CPU可直接執(zhí)行指令的基本形式。成功編譯后,代碼生成一個(gè)可執(zhí)行文件。執(zhí)行此文件,代碼中的操作將逐步運(yùn)行。

盡管也需要編譯這一步驟,但在大多數(shù)情況下,Python是一種解釋型語言,而非編譯型語言。首先將以.py文件編寫的Python代碼編譯為字節(jié)碼(后文將詳細(xì)討論),然后以.pyc或.pyo格式存儲(chǔ)。

Python將源代碼轉(zhuǎn)換為字節(jié)碼,而不像C  ++等轉(zhuǎn)換為機(jī)器代碼。該字節(jié)碼是可由解釋器執(zhí)行的低級(jí)指令集。Python解釋器在大多數(shù)PC中安裝在/usr/local/bin/python3.8路徑下。字節(jié)碼指令在虛擬機(jī)而非CPU上執(zhí)行。

為什么選擇解釋型語言?

解釋型語言具有獨(dú)立于平臺(tái)的一大優(yōu)勢。只要Python字節(jié)碼和虛擬機(jī)版本相同,Python字節(jié)碼就可以在任何平臺(tái)(Windows,MacOS等)上執(zhí)行。

Python的另一個(gè)優(yōu)點(diǎn)是動(dòng)態(tài)類型。在C  ++等靜態(tài)類型語言中,必須先聲明變量類型,并在編譯時(shí)檢查所有差異(如添加字符串和整數(shù))。但在像Python這樣的強(qiáng)類型語言中,檢查變量類型和所執(zhí)行操作的有效性由解釋器來完成。

解釋型語言的缺點(diǎn)

動(dòng)態(tài)類型提供給代碼很大的自由度,但同時(shí)提高了代碼的風(fēng)險(xiǎn)性,有時(shí)會(huì)難以調(diào)試。

Python經(jīng)常被指責(zé)“速度慢”。這種說法是相對(duì)的,也存在很多爭議,但之所以“慢”是因?yàn)榻忉屍餍枰鲱~外工作來將字節(jié)碼指令轉(zhuǎn)換成可以在機(jī)器上執(zhí)行的指令形式。StackOverflow上的一個(gè)帖子對(duì)此的解釋更易理解:

如果你能用自己的母語和別人交談,那通常要比口譯員把你的語言翻譯成其他語言讓對(duì)方理解要快得多。

垃圾回收究竟是什么?

在早期編程語言中,內(nèi)存分配主要依靠手動(dòng)操作。很多時(shí)候,當(dāng)變量不再使用或在程序的其他地方引用時(shí),需要手動(dòng)從內(nèi)存中清除。垃圾回收站代替人工進(jìn)行此項(xiàng)工作,無需任何操作即可自動(dòng)釋放空間。內(nèi)存管理有兩種方式:

簡化方式是跟蹤某對(duì)象的引用次數(shù)。當(dāng)該數(shù)字下降到0時(shí),刪除該對(duì)象。這種方式被稱為“引用計(jì)數(shù)”。在Python中無法禁用此功能。

在對(duì)象引用自身或兩個(gè)對(duì)象相互引用的情況下,“生成垃圾回收”線程可以發(fā)揮作用。這是傳統(tǒng)的引用計(jì)數(shù)所無法解決的。

什么是__pycache__?

在個(gè)人項(xiàng)目中或GitHub上,可能經(jīng)??吹矫麨開_pycache__的文件夾被自動(dòng)創(chuàng)建。

/文件夾-_pycache_-preprocess.cpython-36.pyc-preprocess.py

如您所見,自動(dòng)創(chuàng)建的文件名與文件夾外部的文件名相同,均為_pycache_。.pyc擴(kuò)展名表示該文件包含preprocess.py的字節(jié)碼。cpython表示解釋器的類型。CPython意味著解釋器是用C語言實(shí)現(xiàn)的。同樣,JPython是用Java實(shí)現(xiàn)的Python解釋器。

到此,關(guān)于“Python是如何運(yùn)作的”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

文章題目:Python是如何運(yùn)作的
文章源于:http://muchs.cn/article36/iioepg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、電子商務(wù)、自適應(yīng)網(wǎng)站、ChatGPT企業(yè)建站、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化