來源: ApacheCN『USF MSDS501 計算數據科學中文講義』翻譯項目原文:A first taste of Python toolshtml
譯者:飛龍python
協議:CC BY-NC-SA 4.0git
啓動Terminal.app
(Mac)或任何bash
終端,shell,它是 UNIX 風格的命令行提示符程序。你應該看到一個閃爍的光標和一個$
提示符:程序員
$
上面的$
符號只是提示,終端正在等待您輸入內容。執行命令後,您將再次看到$
提示符。github
命令行是一個很是低級的接口,用於與計算機的操做系統進行通訊。您能夠將終端視爲診斷計算機,機械師能夠將其插入汽車中,來獲取控制權。儀表板相似於咱們大多數時候使用的窗口圖形界面。成爲一名程序員就像成爲一名機械師;有時你須要更強大但更復雜的工具來操做機器。shell
你應該或多或少老是運行一個命令行 shell,以防你須要作一些低級別的事情。機械師在他或她開始工做時所作的第一件事,就是鏈接診斷計算機。你也應該這樣。apache
命令行其實是一個完整的編程語言,包含循環和全部內容,但大多數時候咱們只是執行命令。命令具備參數,就像編程語言中的函數調用具備參數同樣。如下是如何在命令行打招呼:編程
$ echo "hello" hello $
經過按返回鍵終止命令。小程序
echo
命令相似於 Python 代碼中的print
命令。瀏覽器
執行該命令後,提示符將返回,指示您能夠鍵入另外一個命令。
咱們能夠作不少事情; 這是另外一個:
$ date Wed Jul 12 14:18:51 PDT 2017
咱們能夠將一個參數傳遞給命令(相似 Python 中的函數調用):
$ date "+%Y-%m-%d" 2018-07-08
這是一個很酷的例子,來自命令行的循環檢查全部.md
文件(你不須要在實驗中運行這個文件;我只是在這裏展現):
$ for f in *.md; do echo $f; done aws.md bash-intro.md combinations.md complexity.md computation.md data-in-memory.md data.md files.md git.md operations.md planning.md programming.md reading-code.md sqrt.md
在命令行中,鍵入如下命令以驗證您是否能夠訪問python3
:
$ which python3 /Users/parrt/anaconda3/bin/python3
或者,更好的是,確保默認的 Python 是版本 3:
$ which python /Users/parrt/anaconda3/bin/python
Python 程序應該在 Anacondabin
(二進制)目錄中,該目錄包含全部二進制可執行文件。若是你沒有在which
命令的輸出中看到 anaconda,你須要查看 Anaconda 的文檔,並找出你沒有運行適當的 Python 的緣由。(極可能你的PATH
環境變量有問題。)如今可使用任何 3.X 版本的 Python 運行了。
接下來,運行該程序並確保您有最新版本如 3.6.5:
$ python Python 3.6.5 | packaged by conda-forge | (default, Mar 30 2018, 00:00:55) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
接下來嘗試導入一個庫:
$ python Python 3.6.5 | packaged by conda-forge | (default, Mar 30 2018, 00:00:55) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import pandas as pd >>>
你不該該獲得錯誤。
另請參閱個人書機器學習機制中的計算機環境健全性檢查。
如今讓咱們跳轉到交互式 Python shell。簡單來講,它與控制計算機的 bash 命令行 shell 相同。二者都是編程語言;他們只是有不一樣的專長。當咱們從 bash shell 跳到 Python 的 shell 時,它就像是從法國跳到德國邊境。咱們不得不中止說法語並開始講德語。(或者,若是你是美國人,請繼續說英語,由於咱們很懶,不懂任何外語。哈哈)當你退出 Python 解釋器時,你會回到 bash 世界,就像你從德國到法國。
要進入 Python 世界,請從 bash $
提示符輸入python
,就像咱們在上一節中所作的那樣。您應該看到它正在使用Anaconda 版本。 若是沒有,這意味着您正在使用系統上的默認 Python。
如今,從 Python 提示符>>>
(咱們再也不使用bash
),鍵入500 + 1
後跟換行符。你應該看到這樣的東西:
$ python Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 500+1 501 >>>
Python 已經求值了表達式並將結果打印回屏幕。好像咱們使用了print
函數調用,這給了咱們相同的結果:
>>> print(500+1) 501
Python 交互式 shell 當即打印表達式值,但在將程序做爲腳本運行時(即不是交互式)則不是這種狀況。
要退出交互式 shell 並返回命令行(終端程序),請鍵入quit()
(或ctrl-D
)並按下回車:
>>> quit() $
$
提示符表示您回到了 bash 命令行。 您不能再鍵入 python 代碼。
訪問磁盤上合適的目錄(文件夾),或建立一個,例如/Users/YOURID/msan501/inclass
。(不要在任何目錄或文件名中使用空格......永遠不要!)如今在該目錄中建立一個名爲hello.py
的**文本文件,其中只包含一行:
500+1
使用您選擇的編輯器,雖然nano
是一個很好的編輯器,由於當咱們進行雲計算時,您將可以在遠程服務器上使用它。 Sublime 和 TextEdit.app 也有效。
這個「代碼」正是您在交互式 Python shell 中首先輸入的內容。 將文件保存在inclass
目錄或任何調用目錄中。
一旦使用編輯器將 Python 文件寫入磁盤,您應該可以使用命令行中的cd
(更改目錄)跳轉到該目錄:
$ cd /Users/YOURID/msan501/inclass
使用ls
獲取目錄列表:
$ ls hello.py
經過在命令行鍵入如下內容,驗證是否已正確建立 Python 腳本:
$ cat hello.py 500+1 $
如下是最多見錯誤的解決方案:
.txt
放在文件名的末尾;它必須是.py
TextEdit.app
。只需確保保存爲純文本而不是「富文本」。還有不少文本編輯器,如 Sublime 和 TextMate。(若是你真的很硬核,你將學習vi
或emacs
,你會看到我在課堂上使用它。)你也能夠在命令行中使用nano
,直接在命令行窗口中進行編輯。如今,咱們將運行該程序/腳本:
$ python hello.py $
咱們沒有任何輸出。這是一個相當重要的區別。交互式 Python shell 會當即打印表達式值,由於它是交互式的。當您從命令行運行文件時,它假定您但願像腳本同樣,以批處理模式執行代碼。這就是爲何咱們沒有print
語句就得不到任何輸出。
如今編輯該文件並將其更改成:
print(500+1)
保存文件並從新運行。 如今您應該看到:
$ python hello.py 501 $
如今,除了使用基於 Jupyter Lab 瀏覽器的環境以外,咱們將作一樣的事情。 (請參閱正在編寫的 ML 書中的您的機器學習開發環境來了解更多信息。)
從命令行啓動 Jupyter:
$ jupyter lab I 11:27:00.606 LabApp] [jupyter_nbextensions_configurator] enabled 0.2.8 [I 11:27:00.613 LabApp] JupyterLab beta preview extension loaded from /Users/parrt/anaconda3/lib/python3.6/site-packages/jupyterlab [I 11:27:00.613 LabApp] JupyterLab application directory is /Users/parrt/anaconda3/share/jupyter/lab [W 11:27:00.616 LabApp] JupyterLab server extension not enabled, manually loading... ...
這將啓動一個程序,在您的瀏覽器中啓動一個選項卡:
<img src="https://user-gold-cdn.xitu.io...;h=1000&f=png&s=19693" width="60%">
單擊Notebook
類別下的Python 3
圖標,可爲您建立一個新的筆記本窗口:
<img src="https://user-gold-cdn.xitu.io...;h=388&f=png&s=14891" width="80%">
在In []
旁邊的第一個單元格中鍵入500 + 1
。您應該看到在它下面的Out
部分生成的輸出 501。按control-enter
,或工具欄中的右三角形來執行該單元格。
這是一個交互式環境,因此你能夠返回去編輯500 + 1
,好比說print(500 + 1)
。 這樣作,而後再次點擊control-enter
來運行。 你應該獲得相同的輸出。
您應該可以很是快速地測試 Python 小程序或代碼段。重複這些過程,直到它們成爲第二本能。