成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學了這么久,你知道Python是如何運作的嗎?

開發 后端
我對Python與其他語言的不同之處及其工作機制愈加好奇。于是,本文誕生。 本篇文章將嘗試討論Python的內部工作機制。

作為一名機器學習工程師,我使用Python已經一年多了。

最近出于興趣,我也開始學習C ++。接觸C++后,才意識到Python是多么容易和直觀。

我對Python與其他語言的不同之處及其工作機制愈加好奇。

于是,本文誕生。 本篇文章將嘗試討論Python的內部工作機制。

[[315024]]

 

來源:Pexels

 

 

Python最初是Guido Van Rossum在業余時開發的一個項目,于1991年首次發布。作為一門通用語言,Python為Netflix和Instagram等許多公司提供了強大支持。在一次采訪中,Guido將Python與Java/Swift等語言進行了比較,他表示Java/Swift對于日常工作即是編程的軟件開發人員是一個不錯的選擇,而Python針對的目標用戶是日常工作與軟件開發無關的人,他們編寫代碼主要是為了處理數據。

在閱讀有關Python的文章時,經常會遇到諸如“編譯型vs解釋型”、“字節碼vs機器碼”、“動態類型vs靜態類型”、“垃圾回收站”等詞語。維基百科將Python描述為:

Python是一種解釋型的高級通用性編程語言,具有動態類型和垃圾回收功能。

解釋型語言

用C / C ++編寫程序時,必須進行編譯。編譯是將人類可理解的代碼轉換為機器可理解的代碼即“機器代碼”。機器代碼是CPU可直接執行指令的基本形式。成功編譯后,代碼生成一個可執行文件。執行此文件,代碼中的操作將逐步運行。

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

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

為什么選擇解釋型語言?

解釋型語言具有獨立于平臺的一大優勢。只要Python字節碼和虛擬機版本相同,Python字節碼就可以在任何平臺(Windows,MacOS等)上執行。

Python的另一個優點是動態類型。在C ++等靜態類型語言中,必須先聲明變量類型,并在編譯時檢查所有差異(如添加字符串和整數)。但在像Python這樣的強類型語言中,檢查變量類型和所執行操作的有效性由解釋器來完成。

解釋型語言的缺點

動態類型提供給代碼很大的自由度,但同時提高了代碼的風險性,有時會難以調試。

Python經常被指責“速度慢”。這種說法是相對的,也存在很多爭議,但之所以“慢”是因為解釋器需要做額外工作來將字節碼指令轉換成可以在機器上執行的指令形式。StackOverflow上的一個帖子對此的解釋更易理解:

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

[[315025]]

 

來源:Pexels

 

 

垃圾回收究竟是什么?

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

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

在對象引用自身或兩個對象相互引用的情況下,“生成垃圾回收”線程可以發揮作用。這是傳統的引用計數所無法解決的。

什么是__pycache__?

在個人項目中或GitHub上,可能經??吹矫麨開_pycache__的文件夾被自動創建。

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

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

[[315026]]

 

來源:diyitui

 

 

但為什么首先要創建文件夾? 因為這樣可以稍微提高Python程序的速度。 而另一種提高速度的方式是更改Python代碼,避免將其重新編譯為字節碼,從而節省時間。

責任編輯:武曉燕
相關推薦

2022-02-08 13:39:35

LinuxUNIX系統

2017-06-23 15:45:09

AndroidThread

2021-07-21 10:10:14

require前端代碼

2021-11-08 10:00:19

require前端模塊

2022-08-21 14:00:11

消息中間件MQ

2019-10-31 13:17:13

無人超市人臉識別移動支付

2024-12-10 13:00:00

C++引用

2022-01-25 12:41:31

ChromeResponse接口

2018-01-31 10:24:45

熱插拔原理服務器

2022-10-14 18:19:41

YouTube

2019-08-26 10:36:38

Python操作系統高考

2020-11-17 08:32:22

存儲器鏈接

2020-12-07 11:05:21

HttpClient代碼Java

2018-06-08 10:12:10

Web緩存體系服務器

2019-12-04 12:33:48

程序員技術設計

2021-05-27 21:18:56

谷歌Fuchsia OS操作系統

2021-05-28 06:16:28

藍牙Wi-FiNFC

2021-04-28 11:35:06

Java框架日志

2020-12-01 10:18:16

RabbitMQ

2017-03-21 13:53:17

運維戴爾企業級解決方案
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区视频播放 | 天天干天天操天天看 | 97狠狠干 | 欧美国产91 | 一级二级三级黄色 | 亚洲国产精品久久久久秋霞不卡 | 最新中文在线视频 | 天堂精品 | 激情视频中文字幕 | 国产精品亚洲一区二区三区在线观看 | 九九热免费视频在线观看 | 国产亚洲精品一区二区三区 | 欧美日韩在线一区二区三区 | 能看的av网站 | 亚洲国产成人精品久久久国产成人一区 | 国产亚洲人成a在线v网站 | 中文字幕日韩欧美一区二区三区 | 成人小视频在线观看 | 日韩福利在线观看 | 秋霞电影一区二区 | 国产一区二区影院 | 亚洲午夜在线 | 一区二区三区视频在线 | 欧美99 | 一区二区三区欧美在线 | 国家一级黄色片 | 国产一区二区久久久 | 国产欧美精品区一区二区三区 | 日韩高清黄色 | 中文字幕免费中文 | 国产欧美日韩视频 | 国产日韩精品视频 | 欧美中文在线 | 999热视频| 999久久久国产精品 欧美成人h版在线观看 | 91麻豆精品国产91久久久久久 | 亚洲精品一区二区另类图片 | 中文无吗| 亚洲精品日韩在线 | 蜜桃在线播放 | 亚洲欧美日韩一区二区 |