如何使用 Python 交互式控制台

介紹

Python 互動式控制台(也稱為 Python 解釋器或 Python Shell)為程序員提供了一種快速執行命令、嘗試或測試代碼而無需創建文件的方法。

互動式控制台提供對所有 Python 內置函數和任何已安裝模塊、命令歷史記錄以及自動完成的訪問,使您能夠探索 Python,並在準備好時將代碼粘貼到編程文件中。

本教程將介紹如何使用 Python 互動式控制台並利用它作為編程工具。

先決條件

您應該已安裝了 Python 3,並在您的計算機或服務器上設置了編程環境。如果您尚未設置編程環境,您可以參考適用於您的操作系統(Ubuntu、CentOS、Debian 等)的本地編程環境或您的服務器上的編程環境的安裝和設置指南。

進入交互式控制台

Python 交互式控制台可以從任何已安裝 Python 的本地計算機或服務器訪問。

您將使用以下命令進入您的默認版本的 Python 交互式控制台:

  1. python3

如果您使用本地虛擬 Python 環境,您將使用以下命令進入默認版本的 Python:

  1. python

如果您根據先決條件部分設置了編程環境,則可以通過首先使用以下命令進入該環境來啟動和訪問您在該環境中安裝的 Python 和模塊的版本:

  1. cd environments
  2. . my_env/bin/activate

然後輸入 python 命令:

  1. python

在這種情況下,默認版本的 Python 是 Python 3.8.10,一旦我們輸入該命令,它就會顯示在輸出中,還會顯示相關的版權聲明以及您可以輸入以獲得額外信息的一些命令:

Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

下一個命令的主要提示是三個大於號(>>>):

您可以將版本號附加到您的命令中,而不需要空格,以定位特定版本的 Python:

注意:截至 2020 年 1 月,Python 2 已經過時,將不再進行改進。要了解更多信息,請參閱 [停用 Python 2] (https://www.python.org/doc/sunset-python-2/)

  1. python2.7
Output
Python 2.7.18 (default, Mar 8 2021, 13:02:45) [GCC 9.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>

在這裡,我們收到了使用 Python 2.7.18 的輸出。如果這是我們的預設 Python 2 版本,我們也可以使用以下命令進入這個互動式控制台:python2

另外,我們可以使用以下命令調用默認的 Python 3 版本:

  1. python3
Output
Python 3.8.10 (default, Jun 2 2021, 10:49:15) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

我們也可以使用以下命令調用上述的互動式控制台:python3.8

在運行 Python 互動式控制台後,我們可以開始使用 Python 的 shell 環境。

使用 Python 互動式控制台

Python 互動式解譯器接受 Python 語法,你可以在>>>前綴之後放置Python語法。

例如,我們可以將值賦給變量:

  1. birth_year = 1868

當我們將整數值1868賦給變量birth_year後,我們將按回車鍵並收到一個新行,並帶有三個大於號作為前綴:

  1. birth_year = 1868

我們可以繼續賦值給變量,然後使用運算符進行數學運算並返回計算結果:

>>> birth_year = 1868
>>> death_year = 1921
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 

就像我們在文件中的腳本中一樣,我們賦予變量,從一個變量中減去另一個變量,然後要求控制台打印代表差異的變量。

就像在任何形式的Python中一樣,您也可以將交互式控制台用作計算器:

>>> 203 / 20
10.15
>>> 

在這裡,我們將整數203除以20,並返回10.15的商。

多行

當我們編寫涉及多行的Python代碼時,解釋器將使用次要提示符進行連續行,即三個點(...)。

要退出這些連續行,您需要按 ENTER 兩次。

我們可以看到下面的代碼的樣子,它賦予了兩個變量,然後使用一個條件語句來確定要打印到控制台的內容:

>>> sammy = 'Sammy'
>>> shark = 'Shark'
>>> if len(sammy) > len(shark):
...     print('Sammy codes in Java.')
... else:
...     print('Sammy codes in Python.')
... 
Sammy codes in Python.
>>> 

在這種情況下,兩個字符串的長度相等,因此else語句會打印。
請注意,您需要保持Python縮進約定,即四個空格,否則將收到錯誤:

>>> if len(sammy) > len(shark):
... print('Sammy codes in Java.')
  File "<stdin>", line 2
    print('Sammy codes in Java.')
        ^
IndentationError: expected an indented block
>>> 

您不僅可以在Python控制台中跨多行實驗代碼,還可以導入模塊。

匯入模組

Python 解譯器提供了一種快速的方式,讓您檢查特定程式設計環境中是否有可用的模組。您可以使用 import 陳述式來執行此操作:

>>> import matplotlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'matplotlib'

在上面的情況中,模組 matplotlib 在當前的程式設計環境中不可用。

為了安裝它,我們需要離開互動式解譯器,並像往常一樣使用 pip 來安裝:

  1. pip install matplotlib
Output
Collecting matplotlib Downloading matplotlib-3.4.3-cp38-cp38-manylinux1_x86_64.whl (10.3 MB) ... Installing collected packages: numpy, python-dateutil, kiwisolver, pillow, pyparsing, cycler, matplotlib Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.3 numpy-1.21.2 pillow-8.3.1 pyparsing-2.4.7 python-dateutil-2.8.2

一旦 matplotlib 模組及其相依性成功安裝,您可以重新進入互動式解譯器:

  1. python
  1. import matplotlib

此時您將不會收到錯誤訊息,並且可以在 shell 中或文件中使用已安裝的模組。

離開 Python 互動式控制台

有兩種主要的方法可以離開 Python 互動式控制台,即使用鍵盤快捷鍵或 Python 函數。

在基于*nix的系统中,键盘快捷键CTRL + D或在Windows系统中按CTRL + Z,然后按CTRL键会中断您的控制台并返回到原始终端环境:

...
>>> age_at_death = death_year - birth_year
>>> print(age_at_death)
53
>>> 
sammy@ubuntu:~/environments$ 

另外,Python函数quit()会退出交互式控制台,并将您带回之前所在的原始终端环境:

>>> octopus = 'Ollie'
>>> quit()
sammy@PythonUbuntu:~/environments$ 

当您使用函数quit()时,它会显示在您的历史文件中,但键盘快捷键CTRL + D不会被记录:

File: /home/sammy/.python_history
...
age_at_death = death_year - birth_year
print(age_at_death)
octopus = 'Ollie'
quit()

退出Python解释器可以通过任一种方式完成,具体取决于您的工作流程和历史记录需求。

访问历史记录

Python交互式控制台的一个有用之处是,所有命令都被记录在*nix系统中的.python_history文件中,您可以使用像nano这样的文本编辑器查看:

  1. nano ~/.python_history

一旦用文本编辑器打开,您的Python历史文件将看起来像这样,包含您自己的Python命令历史:

File: /home/sammy/.python_history
import pygame
quit()
if 10 > 5:
    print("hello, world")
else:
    print("nope")
sammy = 'Sammy'
shark = 'Shark'
...

完成后,您可以按CTRL + X退出nano。

通過跟蹤您的所有Python歷史記錄,您可以返回以前的命令和實驗,並將該代碼複製粘貼或修改以供在Python編程文件中使用,或在 Jupyter Notebook 中使用。

結論

Python互動式控制台提供了一個實驗Python代碼的空間。 您可以將其用作測試工具、解決邏輯問題等。

要與調試Python編程文件一起使用,您可以使用Python 代碼模塊在文件中打開一個交互式解釋器,您可以在我們的指南中了解更多信息:如何使用交互式控制台調試Python

Source:
https://www.digitalocean.com/community/tutorials/how-to-work-with-the-python-interactive-console