互動式 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 中引用該命令的結果。
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」即可獲取下載地址。