91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

python是解釋型語(yǔ)言嗎?會(huì)被編譯嗎?

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

掃碼添加小助手

加入工程師交流群

Python 是解釋型的語(yǔ)言嗎?它會(huì)被編譯嗎?

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

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

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

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

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

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

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

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

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

    關(guān)注

    68

    文章

    11288

    瀏覽量

    225225
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4877

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    RK3562 單板機(jī) Linux 應(yīng)用開發(fā)實(shí)戰(zhàn)手冊(cè):LED/CAN/TCP/UART 案例與 Python 開發(fā)(二)

    本文為創(chuàng)龍科技RK3562 單板機(jī)應(yīng)用開發(fā)指南,核心包含交叉編譯工具鏈部署、GDB 遠(yuǎn)程調(diào)試,以及 LED、CAN、TCP/UDP、MQTT 等實(shí)戰(zhàn)案例。文檔支持 C/C++ 與 Python語(yǔ)言
    的頭像 發(fā)表于 02-25 11:35 ?515次閱讀
    RK3562 單板機(jī) Linux 應(yīng)用開發(fā)實(shí)戰(zhàn)手冊(cè):LED/CAN/TCP/UART 案例與 <b class='flag-5'>Python</b> 開發(fā)(二)

    飛凌嵌入式ElfBoard-進(jìn)程之什么是進(jìn)程

    將源碼轉(zhuǎn)換為計(jì)算機(jī)可以理解的二進(jìn)制機(jī)器語(yǔ)言指令。解釋腳本形式:腳本是包含命令的文本文件,可以由shell或者其他命令解釋器之類的程序直接處理。(如:
    發(fā)表于 01-26 08:42

    數(shù)字控件設(shè)置小數(shù)顯示與編譯成整型數(shù)據(jù)的說明?編譯成浮點(diǎn)有什么要求嗎?

    數(shù)字控件設(shè)置小數(shù)顯示與編譯成整型數(shù)據(jù)的說明?編譯成浮點(diǎn)有什么要求嗎?
    發(fā)表于 01-20 15:13

    開源鴻蒙技術(shù)大會(huì)2025丨編譯器與編程語(yǔ)言分論壇:語(yǔ)言驅(qū)動(dòng)系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮

    在萬(wàn)物智聯(lián)的時(shí)代背景下,操作系統(tǒng)底層能力的構(gòu)建離不開編程語(yǔ)言編譯器的關(guān)鍵支撐。作為開源鴻蒙生態(tài)的核心技術(shù),語(yǔ)言設(shè)計(jì)與編譯器、虛擬機(jī)實(shí)現(xiàn)的進(jìn)步直接關(guān)系到開發(fā)效率、運(yùn)行性能與系統(tǒng)安全。本
    的頭像 發(fā)表于 11-20 17:24 ?949次閱讀
    開源鴻蒙技術(shù)大會(huì)2025丨<b class='flag-5'>編譯</b>器與編程<b class='flag-5'>語(yǔ)言</b>分論壇:<b class='flag-5'>語(yǔ)言</b>驅(qū)動(dòng)系統(tǒng)創(chuàng)新,<b class='flag-5'>編譯</b>賦能生態(tài)繁榮

    C語(yǔ)言和單片機(jī)C語(yǔ)言有什么差異

    有些擴(kuò)展,及一些特殊寫法如C51擴(kuò)展的 data xdata bit sbit一類的,還有一些中斷程序?qū)懛?void int() interrput 1一類的。 2、C是一門高級(jí)語(yǔ)言,它需要經(jīng)過編譯
    發(fā)表于 11-14 07:55

    一文了解Mojo編程語(yǔ)言

    Mojo 語(yǔ)言的具體介紹: 核心特點(diǎn) Python 兼容性 Mojo 支持大部分 Python 語(yǔ)法和標(biāo)準(zhǔn)庫(kù),可直接調(diào)用 Python 生態(tài)系統(tǒng)中的庫(kù),降低了學(xué)習(xí)成本。 極致性能優(yōu)化
    發(fā)表于 11-07 05:59

    GCC編譯器,怎么才能實(shí)現(xiàn)c文件中未被調(diào)用的函數(shù),不會(huì)被編譯呢?

    GCC編譯器,怎么才能實(shí)現(xiàn)c文件中未被調(diào)用的函數(shù),不會(huì)被編譯?有什么編譯選項(xiàng)可以設(shè)置嗎? 移植代碼,有些函數(shù)沒被調(diào)用的函數(shù)想留在代碼里,但不想被編譯
    發(fā)表于 09-28 12:25

    termux如何搭建python游戲

    Pygame),確保已安裝`clang`編譯器:`apt install -y clang` 3. 權(quán)限問題:若需訪問手機(jī)文件,安裝`termux-setup-storage`并授權(quán)存儲(chǔ)訪問權(quán)限。 通過以上步驟,即可在Termux中搭建完整的Python游戲開發(fā)環(huán)境
    發(fā)表于 08-29 07:06

    C++ 與 Python:樹莓派上哪種語(yǔ)言更優(yōu)?

    Python是樹莓派上的首選編程語(yǔ)言,我們的大部分教程都使用它。然而,C++在物聯(lián)網(wǎng)項(xiàng)目中同樣廣受歡迎且功能強(qiáng)大。那么,在樹莓派項(xiàng)目中選擇哪種語(yǔ)言更合適呢?Python因其簡(jiǎn)潔性、豐富
    的頭像 發(fā)表于 07-24 15:32 ?970次閱讀
    C++ 與 <b class='flag-5'>Python</b>:樹莓派上哪種<b class='flag-5'>語(yǔ)言</b>更優(yōu)?

    linux虛擬環(huán)境中調(diào)用Linux 版matlab編譯python庫(kù)時(shí)出錯(cuò)

    matlab代碼編譯為CAO_pythonpython庫(kù),其中cp_Main_python.m為入口文件,編譯后生成的文件有mccExcl
    發(fā)表于 07-18 10:40

    進(jìn)迭時(shí)空同構(gòu)融合RISC-V AI CPU的Triton算子編譯器實(shí)踐

    Triton是由OpenAI開發(fā)的一個(gè)開源編程語(yǔ)言編譯器,旨在簡(jiǎn)化高性能GPU內(nèi)核的編寫。它提供了類似Python的語(yǔ)法,并通過高級(jí)抽象降低了GPU編程的復(fù)雜性,同時(shí)保持了高性能。目前
    的頭像 發(fā)表于 07-15 09:04 ?1930次閱讀
    進(jìn)迭時(shí)空同構(gòu)融合RISC-V AI CPU的Triton算子<b class='flag-5'>編譯</b>器實(shí)踐

    跟老齊學(xué)Python:從入門到精通

    礎(chǔ)的學(xué)習(xí)者介紹一門時(shí)下比較流行、并且用途比較廣泛的編程語(yǔ)言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關(guān),但與學(xué)習(xí)者未來程序員職業(yè)生涯有關(guān)的內(nèi)容。 獲取完整文檔資料可下載附件哦!?。。?如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~
    發(fā)表于 06-03 16:10

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

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

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

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

    Python在嵌入式系統(tǒng)中的應(yīng)用場(chǎng)景

    你想把你的職業(yè)生涯提升到一個(gè)新的水平?Python在嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語(yǔ)言,Python的優(yōu)勢(shì)在于其簡(jiǎn)潔的語(yǔ)法、豐富的庫(kù)和快速的開發(fā)周期,這使得它在某些嵌入式場(chǎng)景
    的頭像 發(fā)表于 03-19 14:10 ?1517次閱讀