01 Anaconda介紹,IPython,魔法命令

numpy就是數(shù)字python的意思,是許多機(jī)器學(xué)習(xí)庫(kù)的基礎(chǔ)庫(kù)
matplotlib 畫圖庫(kù) ------------ 數(shù)據(jù)可視化
pandas 數(shù)據(jù)分析庫(kù) : 數(shù)據(jù)預(yù)處理操作
開發(fā)工具:
Pycharm;
Anaconda:集成了許多的數(shù)據(jù)科學(xué)領(lǐng)域相關(guān)的python庫(kù),不用自己再pip install 安裝了以及python解釋器;
Ipython:就是在python解釋器的基礎(chǔ)上增加了一些額外的功能;
Jupyter notebook:可以認(rèn)為是一個(gè)web版的Ipython;
Spyder;
=======================================
許多庫(kù)之間存在依賴關(guān)系,例如numpy是許多庫(kù)的基礎(chǔ)庫(kù)
創(chuàng)建虛擬機(jī)使得多個(gè)項(xiàng)目之間保持獨(dú)立
base是一個(gè)默認(rèn)的虛擬環(huán)境

創(chuàng)建虛擬環(huán)境的命令:
conda create -n 名字 python=版本
查看創(chuàng)建的虛擬環(huán)境的信息命令:
conda info --envs

進(jìn)入某個(gè)虛擬環(huán)境的命令:
activate 名字

退出當(dāng)前的虛擬環(huán)境的命令:
deactivate
刪除虛擬環(huán)境命令(徹底刪除):
conda remove -n 虛擬環(huán)境名字 --all
-------------------------------------------------------------------
創(chuàng)建虛擬環(huán)境后,虛擬環(huán)境會(huì)安裝須的軟件包如pip等,如果需要安裝Anaconda所有的庫(kù),那么在創(chuàng)建虛擬環(huán)境的時(shí)候需要使用的命令是:
conda create -n 虛擬環(huán)境名字 python=xx anaconda
---------------------------------
conda包管理器:
安裝包:conda install 包名
卸載包:conda remove 包名(pip uninstall)
更新包:conda update 包名
查看包:conda list
Anaconda Navigator是一款圖形化界面工具 可以跟方便的管理虛擬環(huán)境、安裝的包等,和命令的操作是一樣的
Ipython可以使用如下的命令安裝:
pip install ipython,當(dāng)然 anaconda已經(jīng)集成了Ipython解釋器,,只需在控制臺(tái)上輸入ipython就可以啟動(dòng)Ipython。
---how to check a function用法或說(shuō)明文檔
---help(函數(shù)名) 或者 函數(shù)名?
函數(shù)名??
可以把由python語(yǔ)言實(shí)現(xiàn)的函數(shù)的細(xì)節(jié)進(jìn)行顯示,即原始代碼
python解釋器可以由許多語(yǔ)言來(lái)實(shí)現(xiàn),不止是C
魔法命令兩種模式:
(1)% 行模式:對(duì)當(dāng)前行有效
(2)%% 單元格模式:
注意:并非所有的魔法命令都支持這兩種模式
其實(shí) jupyter notebook 就可以看成是web版的Ipython
(1)%lsmagic 顯示所有的魔法命令
(2)%run 可以不用退出當(dāng)前的交互式環(huán)境就可以執(zhí)行一個(gè)外部的文件
(3)%who 顯示當(dāng)前自定義的變量、方法等名稱,不會(huì)顯示Ipython解釋器內(nèi)建的名稱比如下圖

(4)%whos 與who類似,但是會(huì)顯示名稱的附屬信息,詳細(xì)信息
(5)%time 計(jì)算語(yǔ)句的執(zhí)行時(shí)間 ,只執(zhí)行一次
import time
time.time()
時(shí)間戳 : 是從1970年1月1日0時(shí)0分0秒開始計(jì)時(shí)
如果語(yǔ)句過(guò)于簡(jiǎn)單的話,會(huì)返回 0ns
(5)%timeit 可以根據(jù)語(yǔ)句的復(fù)雜程度自動(dòng)靈活的選擇執(zhí)行的輪數(shù)和每輪執(zhí)行的次數(shù)
%timeit x=3 或者 function()
當(dāng)然也可以自定義執(zhí)行輪數(shù)和次數(shù):
-r 指定輪數(shù) -n 指定每輪的次數(shù)
例如:%timeit -r 5 -n 100 x=3
另外:這個(gè)魔法命令也是支持行模式和單元格模式的。
%%timeit
x=3
y=4
注意:注釋語(yǔ)句有可能導(dǎo)致魔法命令運(yùn)行出錯(cuò)
timeit 在單元格模式時(shí),可以增加一個(gè)初始化語(yǔ)句或者叫設(shè)置語(yǔ)句,這個(gè)語(yǔ)句就是可以用來(lái)定義一些變量,供單元格測(cè)試語(yǔ)句去使用,需要說(shuō)明的是這個(gè)初始化語(yǔ)句執(zhí)行了但并不參與計(jì)時(shí)。使用的方法如下圖所示:

(6)%automagic 默認(rèn)是開啟的,也就是說(shuō)對(duì)于行模式的魔法命令在使用時(shí)可以不寫%。如果要設(shè)置?為必須寫這個(gè)%,可以執(zhí)行語(yǔ)句 %automagic來(lái)關(guān)閉這個(gè)自動(dòng)魔法命令
