溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python解釋器的工作原理是什么

發(fā)布時間:2020-08-04 15:52:56 來源:億速云 閱讀:486 作者:清晨 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)python解釋器的工作原理是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

調(diào)用解釋器

Python 解釋器通常安裝在目標(biāo)機(jī)器上的 /usr/local/bin/python3.7 目錄下;把 /usr/local/bin 目錄放進(jìn)你的 Unix shell 的搜索路徑里,確保它可以通過輸入:

python3.7

來啟動。 [1]  因為安裝路徑是可選的,所以也有可能安裝在其他位置;你可以與安裝 Python 的用戶或系統(tǒng)管理員聯(lián)系。(例如,/usr/local/python 就是一個很常見的選擇。)

在 Windows 機(jī)器上,Python 通常安裝在 C:\Python37 位置,當(dāng)然你可以在運行安裝向?qū)r修改此值。要想把此目錄添加到你的 PATH 環(huán)境變量中,你可以在 DOS 窗口中輸入以下命令:

set path=%path%;C:\python37

通常你可以在主窗口輸入一個文件結(jié)束符(Unix 系統(tǒng)是 Control-D,Windows 系統(tǒng)是 Control-Z)讓解釋器以 0 狀態(tài)碼退出。如果那沒有作用,你可以通過輸入 quit() 命令退出解釋器。

python學(xué)習(xí)網(wǎng),免費的python學(xué)習(xí)網(wǎng)站,歡迎在線學(xué)習(xí)!

Python 解釋器具有簡單的行編輯功能。在 Unix 系統(tǒng)上,任何 Python 解釋器都可能已經(jīng)添加了 GNU readline 庫支持,這樣就具備了精巧的交互編輯和歷史記錄等功能。在 Python 主窗口中輸入 Control-P 可能是檢查是否支持命令行編輯的最簡單的方法。如果發(fā)出嘟嘟聲(計算機(jī)揚聲器),則說明你可以使用命令行編輯功能;更多快捷鍵的介紹請參考 交互式輸入行編輯歷史回溯。如果沒有任何聲音,或者顯示 ^P 字符,則說明命令行編輯功能不可用;你只能通過退格鍵從當(dāng)前行刪除已鍵入的字符并重新輸入。

Python 解釋器有些操作類似 Unix shell:當(dāng)使用終端設(shè)備(tty)作為標(biāo)準(zhǔn)輸入調(diào)用時,它交互的解釋并執(zhí)行命令;當(dāng)使用文件名參數(shù)或以文件作為標(biāo)準(zhǔn)輸入調(diào)用時,它讀取文件并將文件作為 腳本 執(zhí)行。

第二種啟動 Python 解釋器的方法是 python -c command [arg] ...,這種方法可以在 命令行 執(zhí)行 Python 語句,類似于 shell 中的 -c 選項。由于 Python 語句通常會包含空格或其他特殊 shell 字符,一般建議將 命令 用單引號包裹起來。

有一些 Python 模塊也可以當(dāng)作腳本使用。你可以使用 python -m module [arg] ... 命令調(diào)用它們,這類似在命令行中鍵入完整的路徑名執(zhí)行 模塊 源文件一樣。

使用腳本文件時,經(jīng)常會運行腳本然后進(jìn)入交互模式。這也可以通過在腳本之前加上 -i 參數(shù)來實現(xiàn)。

參數(shù)傳遞

調(diào)用解釋器時,腳本名和附加參數(shù)傳入一個名為 sys.argv 的字符串列表。你能夠通過執(zhí)行 import sys 獲取這個列表,列表的長度大于等于 1;沒有給定腳本和參數(shù)時,它至少也有一個元素:sys.argv[0] 此時為空字符串。腳本名指定為 '-' (表示標(biāo)準(zhǔn)輸入)時, sys.argv[0] 被設(shè)定為 '-',使用 -c 指令 時,sys.argv[0] 被設(shè)定為 '-c'。使用 -m 模塊 參數(shù)時,sys.argv[0] 被設(shè)定為指定模塊的全名。-c 指令 或者 -m 模塊 之后的參數(shù)不會被 Python 解釋器的選項處理機(jī)制所截獲,而是留在 sys.argv 中,供腳本命令操作。

交互模式

從 tty 讀取命令時,我們稱解釋器工作于 交互模式。這種模式下它根據(jù)主提示符來執(zhí)行,主提示符通常標(biāo)識為三個大于號 (>>>);繼續(xù)的部分被稱為 從屬提示符,由三個點標(biāo)識 (...)。在第一行之前,解釋器打印歡迎信息、版本號和授權(quán)提示:

$ python3.7
Python 3.7 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

輸入多行結(jié)構(gòu)時需要從屬提示符了,例如,下面這個 if 語句:

>>> the_world_is_flat = True
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!

解釋器及其環(huán)境

源程序編碼

默認(rèn)情況下,Python 源文件是 UTF-8 編碼。在此編碼下,全世界大多數(shù)語言的字符可以同時用在字符串、標(biāo)識符和注釋中 —— 盡管 Python 標(biāo)準(zhǔn)庫僅使用 ASCII 字符做為標(biāo)識符,這只是任何可移植代碼應(yīng)該遵守的約定。如果要正確的顯示所有的字符,你的編輯器必須能識別出文件是 UTF-8 編碼,并且它使用的字體能支持文件中所有的字符。

你也可以為源文件指定不同的字符編碼。為此,在 #! 行(首行)后插入至少一行特殊的注釋行來定義源文件的編碼:

# -*- coding: encoding -*-

通過此聲明,源文件中所有的東西都會被當(dāng)做用 encoding 指代的 UTF-8 編碼對待。在 Python 庫參考手冊 codecs 一節(jié)中你可以找到一張可用的編碼列表。

關(guān)于python解釋器的工作原理是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI