文章目錄
- 一:python解釋器與IPython基礎(chǔ)
- 1.python解釋器
- 2.IPython基礎(chǔ)
- 二:Jupyter notebook
- 三:一些常用技巧
- 1.Tab補(bǔ)全
- 2.內(nèi)省
- 3.中斷代碼
- 4.復(fù)制代碼
- 5.快捷鍵
- 6.魔法函數(shù)
一:python解釋器與IPython基礎(chǔ)
1.python解釋器
? ? python是一種解釋性語言。python解釋器通過一次執(zhí)行一條語句來運(yùn)行程序。
? ? 在安裝python時(shí),默認(rèn)的是官方版本的解釋器:CPython,這個(gè)解釋器是用C語言開發(fā)的,所以叫CPython。在命令行下運(yùn)行python就是啟動(dòng)CPython解釋器,以>>>為提示符。
? ? 但是大部分做數(shù)據(jù)分析或科學(xué)計(jì)算的人士使用得多的是Ipython解釋器和Jupyter notebook。
? ? CPython與IPython都是通過輸入exit()退出的。
2.IPython基礎(chǔ)
? ? IPython解釋器是基于CPython之上的一個(gè)交互式解釋器,IPython只是在交互方式上有所增強(qiáng),但是執(zhí)行Python代碼的功能和CPython是完全一樣的。以In [序號(hào)]:為提示符,交互式與可讀性比CPython略強(qiáng)。
? ? 像啟動(dòng)CPython一樣,在命令行中輸入ipython命令可以啟動(dòng)IPython命令行:
? ? IPython將大多數(shù)Python對(duì)象格式化為更可讀,更美觀的形式。可以不用print()打印,下面是比較:
二:Jupyter notebook
? ? Jupyter項(xiàng)目的主要組件是notebook,以一個(gè)web筆記本,一種交互式的文檔類型。有Ipython的功能,但是是一種更高級(jí)的數(shù)據(jù)分析的環(huán)境。Python的Jupyter內(nèi)核(交互式計(jì)算協(xié)議的實(shí)現(xiàn))使用Ipython系統(tǒng)進(jìn)行內(nèi)部活動(dòng)。
? ? 在終端中輸入jupyter notebook啟動(dòng)Jupyter,或者直接在某個(gè)瀏覽器中輸入http://localhost:8888/,這里要注意,我們打開時(shí)要在項(xiàng)目的文件夾下打開Jupyter:
在右上角選擇New后選擇Python3就可以新建一個(gè)筆記本:
輸入代碼后可以用快捷鍵Shift+Enter執(zhí)行:
? ? 當(dāng)保存后,會(huì)自動(dòng)生成一個(gè)后綴名為.ipynb的文件,包含輸入輸出的所有內(nèi)容。可以被其他Jupyter用戶載入,編輯:
三:一些常用技巧
1.Tab補(bǔ)全
? ?其實(shí),IPython與標(biāo)準(zhǔn)的Python解釋器區(qū)別沒有那么大,只是增加了一些功能。其中一個(gè)主要的提升是tab補(bǔ)全功能。
? ?在命令行輸入表達(dá)式時(shí),按下Tab鍵即可為任意變量(對(duì)象,函數(shù)等)搜索命名空間(命名空間可將范圍縮小,還可以避免同名沖突),還可以獲得任一計(jì)算機(jī)路徑,進(jìn)行匹配。
在IPython中
:
? ? 直接按Tab是尋找包含字符串開頭的變量:
? ? 按下"."+Tab是對(duì)方法,屬性的名稱進(jìn)行補(bǔ)全,會(huì)自動(dòng)找到相符合的方法和屬性:
? ? 這里要注意:
在IPython中默認(rèn)隱藏了以下劃線開始的方法和屬性,需要查看的話就需要先輸入下劃線
:
在Jupyter notebook中
:
自動(dòng)補(bǔ)全是在下拉選項(xiàng)中展現(xiàn):
使用Tab補(bǔ)全可以節(jié)省不少時(shí)間。
2.內(nèi)省
? ?什么是內(nèi)省?
? ? 內(nèi)省是指計(jì)算機(jī)程序在運(yùn)行時(shí)檢查對(duì)象類型的一種能力,通常也可以稱作運(yùn)行時(shí)類型檢查。下面是實(shí)例。
? ?可以用(?)顯示關(guān)于對(duì)象的一些信息,函數(shù)的話會(huì)顯示文檔字符串:
用(??)可以顯示函數(shù)的源代碼:
內(nèi)省還可以顯示所有匹配通配符表達(dá)式的命名空間:
3.中斷代碼
? ?在任意代碼運(yùn)行時(shí)Ctrl+C,都會(huì)引起keyboardInterrupt,將導(dǎo)致所有的Python程序立即停止。但是一些特殊情況下可能不能停止。
4.復(fù)制代碼
? ?在IPython中,復(fù)制代碼可以用到%paste與%cpaste魔法函數(shù)。%paste會(huì)獲得剪貼板的所有文本,并作為一個(gè)代碼塊去運(yùn)行。
? ?%cpaste類似,不同的是會(huì)給出一個(gè)特殊的命令行,需要去手動(dòng)粘貼代碼,方便進(jìn)行檢查。
? ?在Jupyter notebook可以直接將代碼復(fù)制粘貼到代碼單元。
5.快捷鍵
? ?在IPython與Jupyter notebook中,有很多快捷鍵,這里就不一一介紹了,大家可以自行查看。
6.魔法函數(shù)
? ?IPython的特殊命令被稱為魔法命令,這些命令可以讓大家方面使用IPython,前綴符是%。可以通過%automagic啟動(dòng)/關(guān)閉自動(dòng)魔法,就是可以不加%使用。
? ?可以用變量把魔法方法的輸出復(fù)制到某個(gè)變量中。
下面介紹幾種常見的魔法方法:
%quickref
顯示IPython快速參考卡
%magic
顯示所有可用魔法方法的詳細(xì)文檔
%debug
從最后發(fā)生報(bào)錯(cuò)的底部進(jìn)入交互式調(diào)試器
run
在IPython中運(yùn)行一個(gè)腳本
%time
報(bào)告單個(gè)語句執(zhí)行時(shí)間
%timeit
多次運(yùn)行單個(gè)語句計(jì)算平均運(yùn)行時(shí)間,可用于估計(jì)代碼最低運(yùn)行時(shí)間
? ?還有上面的==%paste
與
%cpaste==,以及一些其他的方法,在下面用到時(shí)會(huì)介紹。
有關(guān)數(shù)據(jù)分析的基礎(chǔ)已經(jīng)了解完了,解析來我們就要進(jìn)入數(shù)據(jù)分析的海洋了。
更多文章、技術(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ì)您有幫助就好】元

