Python 3.8.0 教程 —— 2. 使用Python解釋器


2.1. 調用(Invoking) 解釋器

 

Python解釋器通常安裝在系統的/usr/local/bin/python3.8位置; 通過將/usr/local/bin 放在Unix shell的搜索路徑(search path)中,就可以通過在Shell窗口中輸入以下命令來啟動它:

python3.8
 

1 因為解釋器所在的目錄是一個安裝選項,所以可以在其他地方安裝; 請與您的本地 Python專家或系統管理員聯系。(例如,/usr/local/python 是一個流行的替代位置。)

 

你已經在Windows機器上安裝從Microsoft Store 微軟商店的下載的,python3.8 命令將是可用的。如果你安裝了py.exe 啟動器,可以使用 py 命令。請參見:Excursus: Setting environment variables 來設置其他方式啟動Python。

 

在主提示符位置輸入一個EOF結束符 (即 Unix上的Control-D,Windows上的 Control-Z ) 將退出解釋器,並返回退出狀態碼 0。如果不起作用的話,可以通過使用 quit()命令退出解釋器

 

解釋器的行編輯特性包括交互式編輯、歷史替換和支持GNU Readline庫的系統的代碼補全。要查看是否支持命令行編輯,最快的方法可能是在得到的第一個Python提示符后鍵入Control-P。如果它發出嘟嘟響,你有命令行編輯(command line editing)功能; 有關的鍵介紹,請參閱附錄Interactive Input Editing and History Substitution。如果什么都沒有發生,或者^P 被回顯,命令行編輯是不可用的; 你只能使用backspace退格來刪除當前行的字符。

 

解釋器的操作有點像Unix shell: 當使用連接到tty設備的標准輸入調用它時,它以交互方式讀取和執行命令; 當使用文件名參數或將文件作為標准輸入調用時,它將從該文件中讀取並執行其中的腳本

 

啟動解釋器的第二種方法是python -c command [arg] ...命令,它在命令中執行語句,類似於shell的-c選項。由於Python語句通常包含空格或其他對shell來說特殊的字符,因此通常建議使用單引號來對命令進行整體引用。

 

一些Python模塊作為腳本也很有用。這些可以使用 python -m module [arg] ...來調用,該命令將執行模塊源文件就好像您在命令行中拼出了它的全名一樣。

 

當使用腳本文件時,有時能夠運行腳本並在之后進入交互模式是很有用的。這可以通過在腳本之前傳遞-i來實現。所有命令行選項被描述在Command line and environment

 

2.1.1. 傳遞參數

當解釋器知道后,腳本名和其他參數隨后被轉換成字符串list列表,並分配給 sys模塊中的 argv變量。您可以通過執行 import sys來訪問這個列表。該列表的長度至少為1; 當沒有腳本和參數時, sys.argv[0]是一個空字符串。當腳本名被指定為 '-'(表示標准輸入)時, sys.argv[0]被設置為 '-'。當使用 -c命令時, sys.argv[0]被設置為 '-c'。當使用 -m 模塊時,使用 sys.argv[0]被設置為所定位模塊的全名。在 -c命令或 -m 模塊后發現的選項是不會被Python解釋器的選項處理機制給消耗掉的,而是保留在 sys.argv 供命令或模塊來處理。

2.1.2. 交互模式

當從一個tty讀取命令時,解釋器處於交互模式 (interactive mode)。在這種模式下,它用主提示符提示下一個命令,通常是三個大於號(>>>); 對續行它用輔助提示符提示,默認情況下是三個點(...)。在顯示第一個提示符之前,解釋器會顯示一條包含有版本號和版權聲明的歡迎消息:

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

在輸入多行結構體時需要延續行。舉個例子,看看這個 if 語句:

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

有關交互模式的更多信息,請參閱 Interactive Mode.

 

2.2. 解釋器及其環境

2.2.1. 編碼源代碼

默認情況下,Python源文件被視為用UTF-8編碼的。在這種編碼中,世界上大多數語言的字符可以同時用於字符串文字、標識符和注釋——盡管標准庫只使用ASCII字符作為標識符,這是任何可移植代碼都應該遵循的約定。要正確顯示所有字符,您的編輯器必須接收文件是UTF-8編碼的,並且必須使用支持文件中所有字符的字體。
 
要聲明一個編碼而不是默認編碼,應該在文件的 第一行添加一個特殊的注釋行。語法如下:
# -*- coding: encoding -*-

其中編碼是Python支持的一種有效的codecs編解碼器。

 

例如,要聲明使用Windows-1252編碼,你的源代碼文件的第一行應該是:

# -*- coding: cp1252 -*-

 

第一行規則的一個例外是,源代碼從 UNIX “shebang” line行開始。在這種情況下,應該將編碼聲明添加到文件的第二行。例如:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-

 

腳注:

1

在Unix上,Python 3.x解釋器默認是沒有安裝名為python的可執行文件,因此它不會與同時安裝的Python 2.x發生沖突。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM