1. 程式人生 > >互動式 shell 玩轉 Python

互動式 shell 玩轉 Python

Python 程式語言已經成為 IT 中使用的最流行的語言之一。成功的一個原因是它可以用來解決各種問題。從網站開發到資料科學、機器學習到任務自動化,Python 生態系統有豐富的框架和庫。本文將介紹 Ubuntu 軟體包集合中提供的一些有用的 Python shell 來簡化我們的開發。

Python Shell

Python Shell 即原生的 Python 互動環境,可以讓你以互動模式使用 Python 直譯器。這在測試程式碼或嘗試新庫時非常有用。在 Ubuntu 中,你可以通過在終端會話中輸入 python 來呼叫預設的 shell。

$ python
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hi')
hi

IPython

IPython 為 Python shell 提供了許多有用的增強功能。例如包括 tab 補全,物件內省,可以呼叫系統 shell 訪問和命令歷史檢索。

安裝和執行 IPython

$ pip install ipython

$ ipython --version
6.5.0
  • 自動補全

在 ipython 環境下就可以使用 tab 補全啦,當遇到使用不熟悉的庫時,此功能會派上用場。

自動補全

  • 內省

如果不熟悉某個庫的某個方法,可以輸入 ? 命令來檢視文件。對此的更多詳細資訊,也可以使用 ??命令。這就叫做物件的內省。

再也不用擔心沒有文件了

  • shell命令

另一個很酷的功能是使用 ! 字元執行系統 shell 命令的能力。然後還可以在 IPython shell 中引用該命令的結果。

執行系統 shell

IPython 完整的功能列表可在官方文件中找到。

crtl+r 可以搜尋歷史命令:

搜尋歷史命令

bpython

bpython 並不能像 IPython 做那麼多,但它卻在一個簡單的輕量級包中提供了一系列有用功能。除其他功能之外,bpython 提供:

  • 內嵌語法高亮顯示
  • 在你輸入時提供自動補全建議
  • 可預期的引數列表,bpython可以在呼叫函式時顯示引數列表。
  • 能夠將程式碼傳送或儲存到 pastebin 服務或檔案中

安裝和執行 bpython

$ pip install bpython

$ bpython --version
bpython version 0.17.1 on top of Python 3.5.2 /usr/bin/python
(C) 2008-2016 Bob Farrell, Andreas Stuehrk, Sebastian Ramacher, Thomas Ballinger, et al. See AUTHORS for detail.

在你輸入的時候,bpython 為你提供了選擇來自動補全你的程式碼。

自動補全

當你呼叫函式或方法時,會自動顯示需要的引數和文件字串。

自動顯示函式引數

用法演示

有關配置和功能的更多細節,請參考 bpython 官方文件

總結

使用增強的 Python shell 是提高生產力的好方法。它為你提供增強的功能來編寫快速原型或嘗試新庫。

你在使用增強的 Python shell 嗎?來留言分享吧~

如果覺得有用,歡迎關注我的微信,一起學習,共同進步,不定期推出贈書活動~

你的關注是對我最大的鼓勵!

最近蒐集到傳智播客 2018 最新 Python 和 Java 教程!關注本公眾號,後臺回覆「2018」即可獲取下載地址。