Python數據科學手冊 第一章IPython



第一章 IPython





第一章 IPython
  • 當有人找你幫忙解決問題時,大多數時候,重要的不是知道答案,而是知道如何找到答案。
  • Ipython可以通過符號?用於瀏覽對象、函數等的文檔,符號??瀏覽源代碼,Tab鍵用於自動補全。、
  • 常用的魔法命令
    • 粘貼代碼塊%paste %cpaste
      • 當從外部粘貼代碼到解釋器時,常常會出現不可預料的錯誤,這時可以用%paste魔法函數解決包含符號的多行輸入問題
      • 也可以使用%cpaste,該命令打開一個交互式多行輸入提示,可以在這個提示下粘貼並且執行一個或者多個代碼塊。
    • 執行外部代碼 %run
      • 在ipython會話中運行之前的代碼可以使用%run魔法命令
        • 比如之前有一個scrip.py文件,可以在ipython中使用
          • %run scrip.py
        • 來運行該文件,之後該文件中的所有函數都可以直接在ipython使用。
    • 計算代碼運行時間 %timeit
      • %timeit可以自動計算接下來一行的python語句的執行時間
        • %timeit python語句
      • 對於多行語句,可以使用%%timeit來處理多行輸入。
    • 獲得可用魔法函數的通用描述以及一些示例:%magic
    • 獲得所有可用魔法函數的列表:%lsmagic
  • IPython輸入和輸出
    • IPython中有In[1]:/Out[1]這樣的提示,該提示其實是In和Out的Python變量。
    • In對象是一個列表,按照順序記錄所有的命令。
    • Out對象是一個字典,它將輸入數字映射到相應的輸出。
    • 如果希望使用以前計算的結果,可以使用類似Out[2]**2 + out[3]**2這樣的方式來調用以前的結果
    • 禁止輸出
      • 當執行命令時,不希望該命令進行輸出,則可以在該命令後添加分號;,該輸出結果就不會顯示在屏幕上,也不會存儲在out路徑下。
    • 一次性獲取此前所有的輸入歷史:%history
      • 參數 -n 1-4 :輸出倒數1-4條
    • 重新執行部分歷史命令:%rerun
    • 將部分歷史命令保存到一個文件中:%save
  • IPython和shell命令
    • 在IPython終端可以直接執行shell命令的語法,一行中任何在!之後的內容將不會通過Python內核運行,而是通過系統命令行運行。
      • 但不能直接通過!cd來導航文件系統,原因是notebook中的shell命令時在一個臨時的分支shell中執行的,如果希望用一種更持久的方式更改工作路徑,需要使用%cd魔法命令:
        • %cd myproject
      • 這種方式被稱作自動魔法函數,可以通過%automagic魔法函數進行翻轉
      • 其它可用的類似shell的魔法函數還有%cat %cp %env %ls %man %mkdir %more %mv %pwd %rm %rmdir
      • 如果automatic被打開,以上任何一個魔法命令都可以省略%符號,這樣就可以把IPython提示符當作普通shell一樣使用
  • 代碼分析與計時
    • %time:對單個語句的執行時間進行計時
    • %timeit:對單個語句的重複執行進行計時,以獲得更高的準確度
    • %prun:利用分析器運行代碼
    • %lprun:利用逐行分析器運行代碼 需要安裝line_profiler包
    • %memit:測量單個語句的內存使用 需要安裝memory_profilter包
    • %mprun:通過逐行的內存分析器運行代碼 需要安裝memory_profilter包


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章