一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python是解釋型語言嗎?會被編譯嗎?

汽車玩家 ? 來源:科技i關(guān)注 ? 作者:科技i關(guān)注 ? 2020-01-16 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Python 是解釋型的語言嗎?它會被編譯嗎?

這個(gè)問題沒有想象中那么好回答。和很多人認(rèn)識世界一樣,習(xí)慣以一個(gè)簡單的模型去評判一些事物。而事實(shí)上,里面包含了很多很多的細(xì)節(jié)。

通常的說法,編譯代表著將一個(gè)高級語言轉(zhuǎn)化為 CPU 能執(zhí)行的機(jī)器碼。當(dāng)你編譯 C 的時(shí)候,的確是做的這樣的操作。編譯的結(jié)果是一個(gè)二進(jìn)制可執(zhí)行文件,這時(shí)你的系統(tǒng)可直接運(yùn)行這個(gè)程序。

與此相對的,解釋的意思是這樣的:程序運(yùn)行時(shí)每次讀源文件中的一行代碼,并執(zhí)行相應(yīng)的操作,就這樣一行一行的重復(fù)下去。當(dāng)然,所謂的腳本語言就是這么運(yùn)行的。

在 Python 中,源代碼會被編譯為更低級的一種形式,我們稱之為字節(jié)碼。字節(jié)碼是一串指令,和 CPU 的指令集類似。但是字節(jié)碼并不直接被 CPU 執(zhí)行,而是在虛擬機(jī)中執(zhí)行的。當(dāng)然,這里的虛擬機(jī)并不模仿整個(gè)操作系統(tǒng)的環(huán)境,只是提供了字節(jié)碼執(zhí)行的一個(gè)環(huán)境。

Python 還有一個(gè)重要的特性,就是交互式命令行。你可以敲入一行 Python 語句,然后立刻回車執(zhí)行。實(shí)際上,即使是這個(gè)過程,Python 同樣是先轉(zhuǎn)為字節(jié)碼,然后執(zhí)行。而這個(gè)交互式命令行這個(gè)特性,在很多編譯型語言里是沒有的。同樣因?yàn)闆]有顯示的調(diào)用編譯程序,很多人將執(zhí)行 Python 源文件的程序叫做 Python 解釋器。

即使比較簡略,但還是補(bǔ)充下。部分編譯型語言比如 C 或者 JAVA 也有交互式命令行,但這些并不是這些語言的重心。JAVA 剛開始是編譯成字節(jié)碼然后執(zhí)行,后面有了即時(shí)編譯技術(shù)( JIT )可以直接編譯成機(jī)器碼,與 C 類似。

從上面的描述可以看出,不管是解釋還是編譯,并沒法完全分離開來。很多時(shí)候,我們想用一些詞將現(xiàn)有的編程語言分個(gè)類,但事實(shí)上要辦到這一點(diǎn)太難了。

Python 之所以稱為解釋型語言,是因?yàn)樗鼪]有顯示的調(diào)用編譯操作,表現(xiàn)出解釋型的特性比較多而已。但事實(shí)上,編譯是存在的,具體怎么編譯就看語言的實(shí)現(xiàn)了,也就是解釋器的設(shè)計(jì)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11080

    瀏覽量

    217051
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86733
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    FPGA Verilog HDL語法之編譯預(yù)處理

    Verilog HDL語言和C語言一樣也提供了編譯預(yù)處理的功能。“編譯預(yù)處理”是Verilog HDL編譯系統(tǒng)的一個(gè)組成部分。Verilog
    的頭像 發(fā)表于 03-27 13:30 ?621次閱讀
    FPGA Verilog HDL語法之<b class='flag-5'>編譯</b>預(yù)處理

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實(shí)際上是作為Linux的腳本
    的頭像 發(fā)表于 03-25 09:27 ?731次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行<b class='flag-5'>Python</b>程序?

    什么樣的代碼會被編譯器優(yōu)化

    現(xiàn)在的編譯器有多智能,可能你辛辛苦苦寫的代碼,在編譯器看來就是幾句廢話,直接被刪除掉。
    的頭像 發(fā)表于 01-16 16:38 ?597次閱讀

    gitee 支持的編程語言有哪些

    Gitee 支持的常見編程語言Python :一種廣泛使用的高級編程語言,以其清晰的語法和代碼可讀性而聞名。 Java :一種面向?qū)ο蟮木幊?b class='flag-5'>語言,被廣泛用于企業(yè)級應(yīng)用開發(fā)。 C+
    的頭像 發(fā)表于 01-06 09:50 ?672次閱讀

    Triton編譯器的常見問題解決方案

    Triton編譯器作為一款專注于深度學(xué)習(xí)的高性能GPU編程工具,在使用過程中可能會遇到一些常見問題。以下是一些常見問題的解決方案: 一、安裝與依賴問題 檢查Python版本 Triton編譯器通常
    的頭像 發(fā)表于 12-24 18:04 ?3005次閱讀

    Triton編譯器安裝步驟詳解

    1. 系統(tǒng)要求 在開始安裝之前,請確保您的系統(tǒng)滿足以下要求: 操作系統(tǒng) :支持 Linux 或 Windows(通過 WSL 或 Cygwin)。 編譯器 :GCC 或 Clang。 CMake
    的頭像 發(fā)表于 12-24 17:35 ?2626次閱讀

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過
    的頭像 發(fā)表于 12-24 17:33 ?966次閱讀

    Triton編譯器與其他編譯器的比較

    的GPU編程框架,使開發(fā)者能夠編寫出接近手工優(yōu)化的高性能GPU內(nèi)核。 其他編譯器 (如GCC、Clang、MSVC等): 定位:通用編譯器,支持多種編程語言,廣泛應(yīng)用于各種軟件開發(fā)場景。 目標(biāo):提供穩(wěn)定、高效的
    的頭像 發(fā)表于 12-24 17:25 ?1001次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個(gè)開源的編譯器前端,它支持多種編程語言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個(gè)可擴(kuò)展和可定制的編譯器框架,允許開發(fā)者添加新的編程語言
    的頭像 發(fā)表于 12-24 17:23 ?1685次閱讀

    對比Python與Java編程語言

    使得編寫代碼更加靈活,但也可能導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。 Java 語法相對冗長,需要顯式聲明變量類型,增加了代碼的可讀性和安全性。 靜態(tài)類型系統(tǒng)在編譯時(shí)進(jìn)行類型檢查,減少了運(yùn)行時(shí)錯(cuò)誤。 二、性能 Python 解釋
    的頭像 發(fā)表于 11-15 09:31 ?1094次閱讀

    單片機(jī)STM32可以用Python寫嗎?可以的開發(fā)板有哪些?

    近年來,隨著嵌入式技術(shù)的發(fā)展,Python語言逐漸被引入到單片機(jī)開發(fā)中,尤其是一些高性能的單片機(jī)上。這一趨勢給開發(fā)者帶來了極大的便利,尤其是在快速原型設(shè)計(jì)和實(shí)驗(yàn)中。本文將詳細(xì)探討STM32單片機(jī)是否
    的頭像 發(fā)表于 09-05 08:00 ?7602次閱讀
    單片機(jī)STM32可以用<b class='flag-5'>Python</b>寫嗎?可以的開發(fā)板有哪些?

    java反編譯能拿到源碼嗎

    在語法和風(fēng)格上有所不同的代碼,因?yàn)樗鼈冎饕P(guān)注于恢復(fù)代碼的邏輯結(jié)構(gòu),而不是精確復(fù)制原始代碼的每個(gè)細(xì)節(jié)。 1. 反編譯的基本原理 Java程序在編譯時(shí),源代碼(.java文件)會被編譯
    的頭像 發(fā)表于 09-02 11:03 ?1800次閱讀

    pytorch和python的關(guān)系是什么

    ,PyTorch已經(jīng)成為了一個(gè)非常受歡迎的框架。本文將介紹PyTorch和Python之間的關(guān)系,以及它們在深度學(xué)習(xí)領(lǐng)域的應(yīng)用。 Python簡介 Python是一種高級、解釋
    的頭像 發(fā)表于 08-01 15:27 ?3281次閱讀

    Python建模算法與應(yīng)用

    Python作為一種功能強(qiáng)大、免費(fèi)、開源且面向?qū)ο蟮木幊?b class='flag-5'>語言,在科學(xué)計(jì)算、數(shù)學(xué)建模、數(shù)據(jù)分析等領(lǐng)域展現(xiàn)出了卓越的性能。其簡潔的語法、對動(dòng)態(tài)輸入的支持以及解釋語言的本質(zhì),使得
    的頭像 發(fā)表于 07-24 10:41 ?1260次閱讀

    Python在AI中的應(yīng)用實(shí)例

    Python在人工智能(AI)領(lǐng)域的應(yīng)用極為廣泛且深入,從基礎(chǔ)的數(shù)據(jù)處理、模型訓(xùn)練到高級的應(yīng)用部署,Python都扮演著至關(guān)重要的角色。以下將詳細(xì)探討Python在AI中的幾個(gè)關(guān)鍵應(yīng)用實(shí)例,包括機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、自然
    的頭像 發(fā)表于 07-19 17:16 ?2697次閱讀