久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

一起用python之準(zhǔn)備篇——ipython

 dzh1121 2015-03-13

update

發(fā)現(xiàn)ipython notebook 灰常方便,主要是寫(xiě)一些代碼片段的時(shí)候,debug起來(lái)甚至跟pycharm有的一拼。配置好服務(wù)器版本后,,打開(kāi)瀏覽器就能用,一定程度上提升了效率,。具體如何配置ipython notebook的service可以看官網(wǎng),,值得注意的一點(diǎn)是,,如果不配置直接本地運(yùn)行的化,只能通過(guò)localhost:[port]打開(kāi),,無(wú)法遠(yuǎn)程訪問(wèn),。

寫(xiě)在前面

從本文開(kāi)始,以后都用markdown寫(xiě)作,,向大家學(xué)習(xí)~(另,,本文是一個(gè)多月前寫(xiě)的,,當(dāng)時(shí)只對(duì)終端的命令截圖了的,沒(méi)有保存文本,,現(xiàn)在也懶得在重新敲了,,第一個(gè)還是文本,其余的都是圖片,。以后代碼部分都采用該主題)

ipython現(xiàn)在幾乎是自己使用python過(guò)程中最常用的工具,。其中的一些特性很是好用,所以在這里專門用一篇來(lái)簡(jiǎn)單介紹下,。方便后面的學(xué)習(xí)和調(diào)試過(guò)程,。照例,這里給出一本值得推薦的參考書(shū),。Learning IPython for Interactive Computing and Data Visualization

安裝

本來(lái)安裝是沒(méi)什么好說(shuō)的,,sudo apt-get install ipython就完了,但是,,很多時(shí)候我們要在不同的python版本間切換,。比如自己習(xí)慣在python3版本下工作,但是很多時(shí)候?qū)W習(xí)一些書(shū)中的例子 時(shí)使用的是python2的版本,。因此這里建議同時(shí)安裝ipython和ipython3兩個(gè)版本,。從我自己使用的情況來(lái)看,同時(shí)安裝兩個(gè)版本的 ipython并沒(méi)有沖突,,兩個(gè)版本間的安裝包是相互獨(dú)立的,,只是兩個(gè)版本的ipython會(huì)共享配置文件。需要使用python2的環(huán)境時(shí)就在終端執(zhí)行 ipython,,需要使用python3版本的時(shí)候就在終端執(zhí)行ipython3,。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
tianjun@tianjun-ASUS:~/.config/ipython$ ipython
Python 2.7.5+ (default, Sep 19 2013, 13:48:49) 
Type "copyright", "credits" or "license" for more information.
IPython 1.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.
 In [1]: exit
tianjun@tianjun-ASUS:~/.config/ipython$ ipython3
Python 3.3.2+ (default, Oct  9 2013, 14:50:09) 
Type "copyright", "credits" or "license" for more information.
 IPython 1.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

那么怎么安裝不同版本的ipython呢?

談到不同版本python的共存,,一個(gè)不可避免的問(wèn)題就是給不同的python版本安裝對(duì)應(yīng)的軟件包,。一個(gè)比較好的解決辦法是先安裝 virtualenv這個(gè)工具,然后生成一個(gè)獨(dú)立的工作目錄,,在該目錄下安裝不同版本的工具包,。但是我嫌這個(gè)每次都要切換到工作目錄下,還要執(zhí)行 activate,,比較麻煩,。所以建議分別安裝pip和pip3工具。

sudo apt-get install pip pip3

然后想安裝python2版本的軟件包就用命令

sudo pip install ipython

想安裝python3版本對(duì)應(yīng)的軟件包就用命令

sudo pip3 install ipython3

類似的,,我們可以安裝好不同python版本對(duì)應(yīng)的numpy,,scipy,matplotlib,sklearn等等。

常用功能

1. 自動(dòng)補(bǔ)全

ipython最方便的第一個(gè)功能是tab自動(dòng)補(bǔ)全,。我常用來(lái)查看某個(gè)類的方法,,或者是某個(gè)包中提供的函數(shù),。這個(gè)很是有用,有時(shí)候忘了某個(gè)函數(shù)是怎么寫(xiě)的時(shí)候,,用自動(dòng)補(bǔ)全查看下,。例如:

img2

2. 查看幫助文檔和源碼

比如,我想查看os.walk這個(gè)函數(shù)怎么用,,可以在后面加上一個(gè)問(wèn)號(hào)(os.walk,?)再按enter。如果想查看更詳細(xì)的源碼實(shí)現(xiàn),,則加上兩個(gè)問(wèn)號(hào),,即(os.walk?,?),,這個(gè)功能經(jīng)常用到,很是方便,,有時(shí)候不知道某個(gè)參數(shù)代表什么意思的時(shí)候,,就可以查看下幫助文檔。

3. 把ipython當(dāng)作終端用

ipython中可以使用命令行中的許多命令,,我常常用來(lái)切換目錄,,編輯或是刪除文件。

img3

另外,,還可以執(zhí)行外部unix命令,,不過(guò)需要在前面加入感嘆號(hào)!,,比如,,需要編輯文件的時(shí)候,我就經(jīng)常使用 !vim abc.py來(lái)運(yùn)行vim程序,。當(dāng)然,也可以直接使用edit abc.py來(lái)編輯文件,,該命令會(huì)自動(dòng)啟動(dòng)vim,,但我發(fā)現(xiàn)如果使用edit命令的話,編輯完保存文件并退出的時(shí)候ipython會(huì)自動(dòng)運(yùn)行該文件,,這個(gè)h好處是可以接著在終端調(diào)用剛剛打開(kāi)的文件中的變量和函數(shù),,不過(guò)這有時(shí)候會(huì)很煩人,所以我經(jīng)常使用!vim abc.py來(lái)編輯文件,。

ipython有許多個(gè)性化的設(shè)置,,可以在命令行中輸入 ipython profile create,這會(huì)在 ~/.config/ipython目錄下生成配置文件,,查看README有詳細(xì)說(shuō)明,。

4. 書(shū)簽

有些工作目錄可能經(jīng)常使用,,每次都cd很麻煩。所以,,我們可以在第一次切換到該目錄下后,,使用bookmark 命令,以后直接一次cd即可,,具體使用方法如下,。

img4

5. 記錄

有時(shí)候我們希望將ipython中運(yùn)行的命令保存到文件中,這時(shí)候可以使用 logstart,,logoff命令實(shí)現(xiàn),。

img5

6. 調(diào)試和運(yùn)行

run abc.py即可運(yùn)行腳本,如果需要調(diào)試的時(shí)候,,加入-d參數(shù),,即 run -d abc.py即可。需要注意的是,,運(yùn)行腳本后,,變量即保存在此時(shí)的ipython運(yùn)行環(huán)境中了,我們可以對(duì)腳本中的變量做進(jìn)一步的分析和修改,。關(guān)于調(diào)試,, 最常使用的就是 s(step), n(next), c(continue),p(print)這4個(gè)命令。

  • l(list)命令用于顯示上下文環(huán)境,。例如:l 20 (顯示當(dāng)前行上下共20行代碼) l 1, 30 (顯示從1到第30行代碼)
  • break 用于設(shè)置斷點(diǎn),。例如: break 10 (在第10行設(shè)置斷點(diǎn)),break (查看斷點(diǎn)信息),,
  • condition 1 pression 給斷點(diǎn)1設(shè)定條件pression, 這里pression是python表達(dá)式,,當(dāng)條件滿足時(shí)在該點(diǎn)停下來(lái)
  • disable 1,(禁用斷點(diǎn)1), enable 1, (恢復(fù)斷點(diǎn)1), clear 1,(刪除斷點(diǎn)1), ignore 1 3,(在執(zhí)行到斷點(diǎn)1第四次時(shí)才啟用該斷點(diǎn)),
  • commands 1,(給斷點(diǎn)1設(shè)定觸發(fā)動(dòng)作,每次運(yùn)行到該斷點(diǎn)時(shí),,執(zhí)行設(shè)定的python表達(dá)式,,比如用于觀察某一變量的變化情況。輸入end結(jié)束commands)

更高級(jí)的運(yùn)用可以查看pdb的幫助文檔,。

7. 其他

其他比較有用的是pylab,,在繪圖時(shí)能夠交互,從而使得修改繪圖命令時(shí),,修改后的結(jié)果能夠立即在圖像上顯示出來(lái),。

ipython notebook 感覺(jué)很雞肋,平時(shí)很少用到,。

性能測(cè)試,,timeitrun -trun -p等等,,這些自己也很少用,,更多高級(jí)應(yīng)用可以參考本文開(kāi)始給出的參考文獻(xiàn)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多