日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython

系統(tǒng) 1830 0

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本

在2012年,現(xiàn)在大家習(xí)以為常的許多庫,比如pandas、scikit-learn和statsmodels,那時(shí)都相對(duì)不成熟。在2017年,有日益增長(zhǎng)的關(guān)于數(shù)據(jù)科學(xué)、數(shù)據(jù)分析和機(jī)器學(xué)習(xí)的文獻(xiàn)資料,補(bǔ)充了先前關(guān)于通用科學(xué)計(jì)算的工作,主要針對(duì)計(jì)算科學(xué)家、物理學(xué)家和其它研究領(lǐng)域的專業(yè)人員。

學(xué)習(xí)Python編程成為高效軟件工程師的好書確實(shí)不少。建議采用IPython控制臺(tái)與Jupyter筆記本來做樣例代碼的實(shí)驗(yàn),查看文檔了解各種類型、函數(shù)和方法。

一、Python解釋器

Python是一種解釋性語言。Python解釋器通過一次執(zhí)行一條語句來運(yùn)行程序。在命令行鍵入python命令可以調(diào)用標(biāo)準(zhǔn)交互Python解釋器:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第1張圖片

>>>是python提示符,其后可以鍵入表達(dá)式或語句。

鍵入exit()或按組合鍵Ctrl+Z(Windows系統(tǒng))返回命令行提示符。

運(yùn)行python程序很簡(jiǎn)單,調(diào)用python,用一個(gè).py文件作為其第一個(gè)參數(shù)。

編寫一個(gè)python程序hello_world.py:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第2張圖片

運(yùn)行上述python程序:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第3張圖片

一些Python程序員以這種方式來執(zhí)行他們的Python代碼,而那些做數(shù)據(jù)分析和科學(xué)計(jì)算的程序員利用IPython或Jupyter筆記本。

  • IPython 是一個(gè) for Humans 的 Python 交互式 shell,用了它之后你就不想再用自帶的 Python shell 了,IPython 支持變量自動(dòng)補(bǔ)全,自動(dòng)縮進(jìn),支持 bash shell 命令,內(nèi)置了許多實(shí)用功能和函數(shù),同時(shí)它也是科學(xué)計(jì)算和交互可視化的最佳平臺(tái)。
  • Jupyter Notebook 就像一個(gè)草稿本,能將文本注釋、數(shù)學(xué)方程、代碼和可視化內(nèi)容全部組合到一個(gè)易于共享的文檔中,以 Web 頁面的方式展示。它是數(shù)據(jù)分析、機(jī)器學(xué)習(xí)的必備工具。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第4張圖片

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第5張圖片

在IPython里,使用%run命令執(zhí)行指定的Python程序。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第6張圖片

使用Spyder自帶的IPython控制臺(tái)操作:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第7張圖片

IPython提示符是 In [數(shù)字] ,跟Python提示符 >>> 相對(duì)應(yīng)。

注意:在IPython里,可以按組合鍵 + 來清屏。

二、IPython基礎(chǔ)

1、運(yùn)行IPython外殼

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第8張圖片

你可以通過鍵入并按回車來執(zhí)行任意Python語句。如果僅僅鍵入一個(gè)變量,IPython會(huì)呈現(xiàn)這個(gè)對(duì)象的字符串表示。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第9張圖片

前兩行是Python代碼語句;第二條語句創(chuàng)建一個(gè)名叫data的變量,指向一個(gè)新建的Python詞典。最后一行在控制臺(tái)打印變量data的值。

很多種Python對(duì)象格式化后更有可讀性,或漂亮打印(pretty-printed),與通常用print函數(shù)來打印有所不同。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第10張圖片

利用pprint實(shí)現(xiàn)漂亮打印效果:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第11張圖片

IPython也提供了通過復(fù)制粘貼來執(zhí)行任意代碼塊或完整Python腳本的手段。當(dāng)然,你也可以用Jupyter筆記本來處理更大的代碼塊。

            
              mydict = {'students': [{'name':'Tom', 'age': 18},{'name':'Jerry', 'age': 19}]}
pprint.pprint(mydict)
# 未超長(zhǎng):
{'students': [{'age': 18, 'name': 'Tom'}, {'age': 19, 'name': 'Jerry'}]}
pprint.pprint(mydict, width=20)
            
          

將上述代碼塊全部選中,復(fù)制粘貼到IPython控制臺(tái),敲回車執(zhí)行:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第12張圖片

            
              step = 0

def move(p1, p2):
	global step
	step = step + 1
	print('Step ' + str(step) + ': ', p1, '->', p2)

def hanoi(n, x, y, z):
	if n == 1:
		move(x, z)
	else:
		hanoi(n-1, x, z, y)
		move(x, z)
		hanoi(n-1, y, x, z)

hanoi(3, 'A', 'B', 'C')
            
          

將上述代碼塊全部選中,復(fù)制粘貼到IPython控制臺(tái),敲回車執(zhí)行:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第13張圖片

大家可以看到,在IPython里執(zhí)行代碼塊還是挺方便的,對(duì)于已有的Python程序,簡(jiǎn)單的復(fù)制粘貼敲回車就可以執(zhí)行。

2、運(yùn)行Jupyter筆記本

Jupyter項(xiàng)目主要組件之一就是notebook,一種用于代碼、文本(有或無標(biāo)簽),數(shù)據(jù)可視化和其它輸出的交互式文檔。

Jupyter筆記本與內(nèi)核交互,內(nèi)核以任何數(shù)量的編程語言實(shí)現(xiàn)了Jupyter交互計(jì)算協(xié)議。Python的Jupyter內(nèi)核采用IPython系統(tǒng)作為其底層行為。

要啟動(dòng)Jupyter,在終端運(yùn)行jupyter notebook命令:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第14張圖片

在很多平臺(tái)上,Jupyter會(huì)自動(dòng)在你默認(rèn)瀏覽器里打開(除非你啟動(dòng)時(shí)帶了--no-browser參數(shù))。或者,當(dāng)你啟動(dòng)了notebook,你可以導(dǎo)航到它給出的http地址,這里是http://localhost:8888/?token=2b9cd7470d199f917f01de16df40907c57c0afc2013e69f6,下圖就是在Chrome瀏覽里Jupyter的登錄頁面。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第15張圖片

要?jiǎng)?chuàng)建一個(gè)筆記本,單擊【New】按鈕,選擇Python 3選項(xiàng)。在代碼單元格里鍵入Python代碼,然后按組合鍵Shift-Enter執(zhí)行,如下圖所示:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第16張圖片

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第17張圖片

當(dāng)你保存筆記本,會(huì)創(chuàng)建一個(gè)擴(kuò)展名為.ipynb的文件。這是一種自包含文件格式,包含當(dāng)前在筆記本里的所有內(nèi)容(包括任何計(jì)算的代碼輸出)。這些東西可以被其他Jupyter用戶加載并編輯。為了加載一個(gè)已有的筆記本,將文件放在啟動(dòng)筆記本的同一個(gè)目錄里,或者其子目錄里,然后從Jupyter登錄頁面雙擊那個(gè)文件名。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第18張圖片

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第19張圖片

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第20張圖片

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第21張圖片

剛才,我保存了筆記本,并且重命名為“demo001”,于是在Jupyter當(dāng)前目錄下就有了demo001.ipynb文件。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第22張圖片

在啟動(dòng)Jupyter的目錄里保存了demo001.ipynb文件:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第23張圖片

內(nèi)容如下所示:

            
              {
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "hello python world!\n"
     ]
    }
   ],
   "source": [
    "print(\"hello python world!\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "250\n"
     ]
    }
   ],
   "source": [
    "a = 100\n",
    "b = 150\n",
    "sum = a + b\n",
    "print(sum)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
            
          

打開已有的Jupyter筆記本文件:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第24張圖片

3、Tab補(bǔ)全功能

跟標(biāo)準(zhǔn)的Python外殼相比,IPython外殼具有tab補(bǔ)全功能,現(xiàn)在很多集成開發(fā)環(huán)境或交互式計(jì)算分析環(huán)境都提供了此功能。

定義了兩個(gè)變量an_apple與an_example,輸入an,按tab鍵,IPython會(huì)提示an_apple any an_example Anaconda3。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第25張圖片

在一個(gè)對(duì)象后面鍵入英文句點(diǎn),按tab鍵會(huì)自動(dòng)提示其方法與屬性:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第26張圖片

同理,在模塊后面鍵入英文句點(diǎn),按tab鍵也會(huì)自動(dòng)提示其函數(shù)或常量:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第27張圖片

利用tab鍵也可以自動(dòng)提示模塊的私有屬性和方法,但是必須加上一個(gè)下劃線再按tab鍵:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第28張圖片

結(jié)合%run命令,tab鍵自動(dòng)補(bǔ)全功能可以為你節(jié)省不少敲鍵次數(shù)。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第29張圖片

4、對(duì)象自省功能

在變量或方法名后加一個(gè)?,會(huì)顯示一些相關(guān)信息:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第30張圖片

定義一個(gè)函數(shù),添加文檔字符串;使用?可以顯示文檔字符串。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第31張圖片

用??可以顯示函數(shù)的源代碼:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第32張圖片

?還可以結(jié)合通配符*搜索IPython的命名空間:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第33張圖片

注意,python shell不具有對(duì)象自省功能:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第34張圖片

5、%run命令——運(yùn)行Python腳本

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第35張圖片

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第36張圖片

6、%load命令——加載Python腳本

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第37張圖片

7、執(zhí)行剪貼板里的代碼

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第38張圖片

將上述代碼全部選中,然后復(fù)制到剪貼板里。

在IPython里,利用魔法命令%paste,可以執(zhí)行剪貼板里的代碼:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第39張圖片

8、終端鍵盤快捷鍵

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第40張圖片

Ctrl-L,清屏快捷鍵,在前面我們就已經(jīng)提到過。

9、關(guān)于魔法命令

IPython提供了一些特殊命令,不是Python內(nèi)置的,命令以%打頭。

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第41張圖片

魔法命令之后加?也可以自省:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第42張圖片

利用%automagic命令可以設(shè)置自動(dòng)魔法命令是ON還是OFF,當(dāng)設(shè)置為ON時(shí),魔法命令可以省掉前面的%;當(dāng)設(shè)置為OFF時(shí),魔法命令不能省掉前面的%。默認(rèn)情況下,automagic是ON狀態(tài),如下圖所示:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第43張圖片

一些魔法命令執(zhí)行的結(jié)果還可以保存到變量里,如下圖所示:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第44張圖片

但是有些魔法命令執(zhí)行的結(jié)果無法保存到變量里,只能直接顯示在屏幕上,如下圖所示:

Python數(shù)據(jù)分析學(xué)習(xí)筆記02:Python語言基礎(chǔ)、IPython與Jupyter筆記本_第45張圖片


更多文章、技術(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)論
主站蜘蛛池模板: 阳山县| 泗洪县| 望奎县| 合水县| 江城| 金塔县| 遵义县| 宁南县| 兰溪市| 新宾| 绿春县| 深州市| 盘锦市| 独山县| 恭城| 瑞安市| 治多县| 上栗县| 石首市| 承德市| 集安市| 澄城县| 建昌县| 夏邑县| 上蔡县| 南充市| 黎平县| 酉阳| 祥云县| 巧家县| 上蔡县| 德清县| 逊克县| 杭锦旗| 阿瓦提县| 滦平县| 渭南市| 桃江县| 靖州| 商城县| 静宁县|