交互式 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 嗎?來留言分享吧~


免責聲明!

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



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