亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

USF MSDS501 計(jì)算數(shù)據(jù)科學(xué)中文講義 1.2 Python 工具的初次

系統(tǒng) 2161 0
來源: ApacheCN『USF MSDS501 計(jì)算數(shù)據(jù)科學(xué)中文講義』翻譯項(xiàng)目

原文:A first taste of Python tools

譯者:飛龍

協(xié)議:CC BY-NC-SA 4.0

加載命令行應(yīng)用

啟動(dòng) Terminal.app (Mac)或任何 bash 終端 shell ,它是 UNIX 風(fēng)格的 命令行提示符 程序。你應(yīng)該看到一個(gè)閃爍的光標(biāo)和一個(gè) $ 提示符:

          
            $ 
          
        

上面的 $ 符號(hào)只是提示,終端正在等待您輸入內(nèi)容。執(zhí)行命令后,您將再次看到 $ 提示符。

命令行是一個(gè)非常低級(jí)的接口,用于與計(jì)算機(jī)的操作系統(tǒng)進(jìn)行通信。您可以將終端視為診斷計(jì)算機(jī),機(jī)械師可以將其插入汽車中,來獲取控制權(quán)。儀表板類似于我們大多數(shù)時(shí)候使用的窗口圖形界面。成為一名程序員就像成為一名機(jī)械師;有時(shí)你需要更強(qiáng)大但更復(fù)雜的工具來操作機(jī)器。

你應(yīng)該或多或少總是運(yùn)行一個(gè)命令行 shell,以防你需要做一些低級(jí)別的事情。機(jī)械師在他或她開始工作時(shí)所做的第一件事,就是連接診斷計(jì)算機(jī)。你也應(yīng)該這樣。

命令行實(shí)際上是一個(gè)完整的編程語言,包含循環(huán)和所有內(nèi)容,但大多數(shù)時(shí)候我們只是執(zhí)行命令。命令具有參數(shù),就像編程語言中的函數(shù)調(diào)用具有參數(shù)一樣。以下是如何在命令行打招呼:

          
            $ echo "hello"
hello
$ 
          
        

通過按返回鍵終止命令。

echo 命令類似于 Python 代碼中的 print 命令。

執(zhí)行該命令后,提示符將返回,指示您可以鍵入另一個(gè)命令。

我們可以做很多事情; 這是另一個(gè):

          
            $ date
Wed Jul 12 14:18:51 PDT 2017
          
        

我們可以將一個(gè)參數(shù)傳遞給命令(類似 Python 中的函數(shù)調(diào)用):

          
            $ date "+%Y-%m-%d"
2018-07-08
          
        

這是一個(gè)很酷的例子,來自命令行的循環(huán)檢查所有 .md 文件(你不需要在實(shí)驗(yàn)中運(yùn)行這個(gè)文件;我只是在這里展示):

          
            $ 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
          
        

環(huán)境健全性檢查

在命令行中,鍵入以下命令以驗(yàn)證您是否可以訪問 python3

          
            $ which python3
/Users/parrt/anaconda3/bin/python3
          
        

或者,更好的是,確保默認(rèn)的 Python 是版本 3:

          
            $ which python
/Users/parrt/anaconda3/bin/python
          
        

Python 程序應(yīng)該在 Anaconda bin (二進(jìn)制)目錄中,該目錄包含所有二進(jìn)制可執(zhí)行文件。如果你沒有在 which 命令的輸出中看到 anaconda,你需要查看 Anaconda 的文檔,并找出你沒有運(yùn)行適當(dāng)?shù)?Python 的原因。(很可能你的 PATH 環(huán)境變量有問題。)現(xiàn)在可以使用任何 3.X 版本的 Python 運(yùn)行了。

接下來,運(yùn)行該程序并確保您有最新版本如 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.
>>> 
          
        

接下來嘗試導(dǎo)入一個(gè)庫(kù):

          
            $ 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
>>> 
          
        

你不應(yīng)該得到錯(cuò)誤。

另請(qǐng)參閱我的書機(jī)器學(xué)習(xí)機(jī)制中的計(jì)算機(jī)環(huán)境健全性檢查。

交互式 Python

現(xiàn)在讓我們跳轉(zhuǎn)到交互式 Python shell。簡(jiǎn)單來說,它與控制計(jì)算機(jī)的 bash 命令行 shell 相同。兩者都是編程語言;他們只是有不同的專長(zhǎng)。當(dāng)我們從 bash shell 跳到 Python 的 shell 時(shí),它就像是從法國(guó)跳到德國(guó)邊境。我們不得不停止說法語并開始講德語。(或者,如果你是美國(guó)人,請(qǐng)繼續(xù)說英語,因?yàn)槲覀兒軕校欢魏瓮庹Z。哈哈)當(dāng)你退出 Python 解釋器時(shí),你會(huì)回到 bash 世界,就像你從德國(guó)到法國(guó)。

要進(jìn)入 Python 世界,請(qǐng)從 bash $ 提示符輸入 python ,就像我們?cè)谏弦还?jié)中所做的那樣。您應(yīng)該看到它正在使用 Anaconda 版本。 如果沒有,這意味著您正在使用系統(tǒng)上的默認(rèn) Python。

現(xiàn)在,從 Python 提示符 >>> (我們不再使用 bash ),鍵入 500 + 1 后跟換行符。你應(yīng)該看到這樣的東西:

          
            $ 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 已經(jīng)求值了表達(dá)式并將結(jié)果打印回屏幕。好像我們使用了 print 函數(shù)調(diào)用,這給了我們相同的結(jié)果:

          
            >>> print(500+1)
501
          
        

Python 交互式 shell 立即打印表達(dá)式值,但在將程序作為腳本運(yùn)行時(shí)(即不是交互式)則不是這種情況。

要退出交互式 shell 并返回命令行(終端程序),請(qǐng)鍵入 quit() (或 ctrl-D )并按下回車:

          
            >>> quit()
$ 
          
        

$ 提示符表示您回到了 bash 命令行。 您不能再鍵入 python 代碼。

腳本化 Python

訪問磁盤上合適的目錄(文件夾),或創(chuàng)建一個(gè),例如 /Users/YOURID/msan501/inclass 。( 不要在任何目錄或文件名中使用空格......永遠(yuǎn)不要! )現(xiàn)在在該目錄中創(chuàng)建一個(gè)名為 hello.py 的**文本文件,其中只包含一行:

          
            500+1
          
        

使用您選擇的編輯器,雖然 nano 是一個(gè)很好的編輯器,因?yàn)楫?dāng)我們進(jìn)行云計(jì)算時(shí),您將能夠在遠(yuǎn)程服務(wù)器上使用它。 Sublime 和 TextEdit.app 也有效。

這個(gè)“代碼”正是您在交互式 Python shell 中首先輸入的內(nèi)容。 將文件保存在 inclass 目錄或任何調(diào)用目錄中。

一旦使用編輯器將 Python 文件寫入磁盤,您應(yīng)該能夠使用命令行中的 cd (更改目錄)跳轉(zhuǎn)到該目錄:

          
            $ cd /Users/YOURID/msan501/inclass
          
        

使用 ls 獲取目錄列表:

          
            $ ls
hello.py
          
        

通過在命令行鍵入以下內(nèi)容,驗(yàn)證是否已正確創(chuàng)建 Python 腳本:

          
            $ cat hello.py
500+1
$ 
          
        

以下是最常見錯(cuò)誤的解決方案:

  1. 不要將 .txt 放在文件名的末尾;它必須是 .py
  2. 不要使用 MS Word 或任何其他文字處理器;你認(rèn)為它是文本,但事實(shí)并非如此。有很多文本編輯器,包括 Mac 的 TextEdit.app 。只需確保保存為純文本而不是“富文本”。還有很多文本編輯器,如 Sublime 和 TextMate。(如果你真的很硬核,你將學(xué)習(xí) vi emacs ,你會(huì)看到我在課堂上使用它。)你也可以在命令行中使用 nano ,直接在命令行窗口中進(jìn)行編輯。

現(xiàn)在,我們將運(yùn)行該程序/腳本:

          
            $ python hello.py
$ 
          
        

我們沒有任何輸出。這是一個(gè)至關(guān)重要的區(qū)別。交互式 Python shell 會(huì)立即打印表達(dá)式值,因?yàn)樗墙换ナ降摹.?dāng)您從命令行運(yùn)行文件時(shí),它假定您希望像腳本一樣,以批處理模式執(zhí)行代碼。這就是為什么我們沒有 print 語句就得不到任何輸出。

現(xiàn)在編輯該文件并將其更改為:

          
            print(500+1)
          
        

保存文件并重新運(yùn)行。 現(xiàn)在您應(yīng)該看到:

          
            $ python hello.py 
501
$ 
          
        

Jupyter 筆記本(通過 Jupyter Lab)

現(xiàn)在,除了使用基于 Jupyter Lab 瀏覽器的環(huán)境之外,我們將做同樣的事情。 (請(qǐng)參閱正在編寫的 ML 書中的您的機(jī)器學(xué)習(xí)開發(fā)環(huán)境來了解更多信息。)

從命令行啟動(dòng) 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...
...
          
        

這將啟動(dòng)一個(gè)程序,在您的瀏覽器中啟動(dòng)一個(gè)選項(xiàng)卡:

單擊 Notebook 類別下的 Python 3 圖標(biāo),可為您創(chuàng)建一個(gè)新的筆記本窗口:

In [] 旁邊的第一個(gè)單元格中鍵入 500 + 1 。您應(yīng)該看到在它下面的 Out 部分生成的輸出 501。按 control-enter ,或工具欄中的右三角形來執(zhí)行該單元格。

這是一個(gè)交互式環(huán)境,所以你可以返回去編輯 500 + 1 ,比如說 print(500 + 1) 。 這樣做,然后再次點(diǎn)擊 control-enter 來運(yùn)行。 你應(yīng)該得到相同的輸出。

您應(yīng)該能夠非常快速地測(cè)試 Python 小程序或代碼段。重復(fù)這些過程,直到它們成為第二本能。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久久天天躁狠狠躁夜夜躁综合 | 欧美jizzhd精品欧美另类 | 久久国产精品免费观看 | 91综合精品网站久久 | 国产精品不卡在线 | 国产va免费精品 | 欧美黄色网页 | 香蕉视频日本 | 奇米777视频国产 | 国内第一永久免费福利视频 | 国产精品毛片一区二区三区 | 国产成人精品午夜二三区 | 伊人久久色 | 资源站在线 | 求毛片 | 视色视频 | 国产目拍亚洲精品一区麻豆 | 天天久久 | 国产福利午夜自产拍视频在线 | 日日干日日 | 天天干天天插天天 | 日本一级毛片高清免费观看视频 | 国产精品久久久久无毒 | 国产高清在线精品一区二区 | 亚洲天天网综合自拍图片专区 | 成人网欧美亚洲影视图片 | 九九热在线免费 | 一级毛片全部免费播放 | 色女孩综合 | 优优色综合 | 福利视频一区 | 五月中文字幕 | 在线观看深夜观看网站免费 | 中国一级全黄的免费观看 | 男人猛躁女人成人免费视频 | 国产精品久久久久久久久 | 两性色午夜视频免费老司机 | 亚洲欧美一区二区三区在线 | 在线观看成人小视频 | 亚洲欧美日韩中文在线 | 国产免费播放一区二区 |