陜西 汽車 網(wǎng)站建設(shè)網(wǎng)頁制作源代碼
文章目錄
- 前言
- 一、Jupter Notebook是什么
- 1.1 簡介
- 1.2 組成部分
- 1.3 Jupyter Notebook的主要特點
- 二、為什么使用Jupyter Notebook?
- 三、安裝
- 四、Jupyter Notebok配置
- 4.1 基本配置
- 4.2 配置開機(jī)自啟與后臺運(yùn)行
- 4.3 開啟代碼自動補(bǔ)全
- 五、兩種鍵盤輸入模式
- 5.1 編輯模式
- 5.2 命令模式
- 5.3 其他常用快捷鍵
- 六、魔法命令
- 6.1 查看幫助文檔
- 6.2 其他魔法命令
- 七、結(jié)語
- 參考
前言
在上一篇中我們已經(jīng)安裝好了Anaconda,Anaconda本身自帶Jupter Notebook。本期我們來學(xué)習(xí)使用 Jupyter Notebook。
一、Jupter Notebook是什么
1.1 簡介
Jupyter Notebook是基于網(wǎng)頁的用于交互計算的應(yīng)用程序。其可被應(yīng)用于全過程計算:開發(fā)、文檔編寫、運(yùn)行代碼和展示結(jié)果。——Jupyter Notebook官方介紹
Jupyter Notebook是一個開源 Web 應(yīng)用程序,允許您創(chuàng)建和共享包含實時代碼、方程式、可視化和敘述文本的文檔。用途包括:數(shù)據(jù)清理和轉(zhuǎn)換,數(shù)值模擬,統(tǒng)計建模,數(shù)據(jù)可視化,機(jī)器學(xué)習(xí)等等。支持python、C、java、Go等多種編程語言。同時支持markdown編輯器。
簡而言之,Jupyter Notebook是以網(wǎng)頁的形式打開,可以在網(wǎng)頁頁面中直接編寫代碼和運(yùn)行代碼,代碼的運(yùn)行結(jié)果也會直接在代碼塊下顯示的程序。如在編程過程中需要編寫說明文檔,可在同一個頁面中直接編寫,便于作及時的說明和解釋。
Jupyter Notebook 已迅速成為數(shù)據(jù)分析,機(jī)器學(xué)習(xí)的必備工具。因為它可以讓數(shù)據(jù)分析師集中精力向用戶解釋整個分析過程。
1.2 組成部分
① 網(wǎng)頁應(yīng)用
網(wǎng)頁應(yīng)用即基于網(wǎng)頁形式的、結(jié)合了編寫說明文檔、數(shù)學(xué)公式、交互計算和其他富媒體形式的工具。簡言之,網(wǎng)頁應(yīng)用是可以實現(xiàn)各種功能的工具。
② 文檔
即Jupyter Notebook中所有交互計算、編寫說明文檔、數(shù)學(xué)公式、圖片以及其他富媒體形式的輸入和輸出,都是以文檔的形式體現(xiàn)的。
這些文檔是保存為后綴名為.ipynb
的JSON
格式文件,不僅便于版本控制,也方便與他人共享。
此外,文檔還可以導(dǎo)出為:HTML、LaTeX、PDF等格式。
1.3 Jupyter Notebook的主要特點
① 編程時具有語法高亮、縮進(jìn)、tab補(bǔ)全的功能。
② 可直接通過瀏覽器運(yùn)行代碼,同時在代碼塊下方展示運(yùn)行結(jié)果。
③ 以富媒體格式展示計算結(jié)果。富媒體格式包括:HTML,LaTeX,PNG,SVG等。
④ 對代碼編寫說明文檔或語句時,支持Markdown語法。
⑤ 支持使用LaTeX編寫數(shù)學(xué)性說明。
二、為什么使用Jupyter Notebook?
-
傳統(tǒng)軟件開發(fā):工程/目標(biāo)明確
需求分析,設(shè)計架構(gòu),開發(fā)模塊,測試
-
數(shù)據(jù)挖掘:藝術(shù)/目標(biāo)不明確
目的是具體的洞察目標(biāo),而不是機(jī)械的完成任務(wù)
通過執(zhí)行代碼來理解問題
迭代式地改進(jìn)代碼來改進(jìn)解決方法
實時運(yùn)行的代碼、敘事性的文本和可視化被整合在一起,方便使用代碼和數(shù)據(jù)來講述故事
對比Jupyter Notebook和Pycharm
-
畫圖和數(shù)據(jù)展示便捷,可以實時查看結(jié)果
總結(jié):Jupyter Notebook 相比 Pycharm 在畫圖和數(shù)據(jù)展示方面更有優(yōu)勢。
三、安裝
在上一篇中我們已經(jīng)安裝好了Anaconda,Anaconda本身自帶Jupter Notebook。具體安裝參考上篇。
四、Jupyter Notebok配置
4.1 基本配置
1、設(shè)置登錄密碼,獲取sha1密碼
# 首先進(jìn)入python命令行
python
# 在命令行下輸入
from notebook.auth import passwd;passwd()
# 按照提示輸入密碼,這是jupyter的登陸密碼
記住設(shè)置的密碼, 非常重要, 比如設(shè)置了密碼為:123456。
記住sha1, 非常重要, 'sha1:XXXX:XXXX’全部復(fù)制下來, 包括引號。
2、修改jupyter配置文件
生成配置文件 jupyter_notebook_config.py,windows在 C:\Users\username\.jupyter
下,username為你電腦用戶名。如果沒有這個文件,可以使用下面命令生成。
jupyter notebook --generate-config
編輯 jupyter_notebook_config.py,在開頭加入以下代碼
#設(shè)置可訪問的ip為任意。
c.NotebookApp.ip = '*' #某些版本為c.NotebookApp.ip = '0.0.0.0',都表示任意ip#不打開瀏覽器。推薦谷歌,火狐等訪問登錄jupyter
c.NotebookApp.open_browser = False#這里填上面設(shè)置密碼時生成的hash密碼
c.NotebookApp.password = 'sha1:XXXX:XXXX'#允許使用root用戶開啟jupyter,windows忽略這條
#c.NotebookApp.allow_remote_access = True#設(shè)置登陸端口,一般為8888
c.NotebookApp.port = 8888#設(shè)置jupyter-notebook的工作空間,注意linux與windows的路徑表示方式
c.NotebookApp.notebook_dir = 'E:\workspace\pycharm\jupyter'## 其他配置項根據(jù)自己需要修改
3、啟動
① 點擊Jupyter Notebook打開
② 在終端或者命令行輸入,終端或者命令行不要關(guān)閉,在瀏覽器地址欄輸入http://localhost:8888或者h(yuǎn)ttp://127.0.0.1:8888
jupyter-notebook
出現(xiàn)jupyter登陸頁面則初步安裝成功,輸入設(shè)置的登陸密碼,新建一個 Python 文件,即.ipynb文件
print("Hello Jupyter") # 按shift+enter運(yùn)行
正常輸出說明安裝成功
4.2 配置開機(jī)自啟與后臺運(yùn)行
① 在非系統(tǒng)目錄下新建文本文檔,修改文件名為jupyter.bat,需要設(shè)置文件顯示后綴名。用記事本打開,輸入以下代碼:
@echo off
cd C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
cd D:\PF\Anaconda3\Scripts
D:\PF\Anaconda3\Scripts\jupyter.exe notebook --no-browser --port=8888
其中,C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
、D:\PF\Anaconda3\Scripts
和 D:\PF\Anaconda3\Scripts\jupyter.exe
根據(jù)自己系統(tǒng)和安裝目錄進(jìn)行替換。
② 雙擊jupyter.bat 測試能否正常開啟jupyter
③ 移動jupyter.bat到windows啟動文件夾
- win7 :
C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
,admin為自己電腦用戶名,需要根據(jù)自己電腦實際情況手動修改。 - win10:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
4.3 開啟代碼自動補(bǔ)全
開啟代碼自動補(bǔ)全,可以提高代碼的編寫效率。重點推薦配置
1.使用pip安裝jupyter拓展包,本人選擇在cmd中安裝
pip install jupyter_contrib_nbextensions
或者
conda install jupyter_contrib_nbextensions
2.配置 nbextension,前提是先關(guān)閉jupyter notebook
jupyter contrib nbextension install --user --skip-running-check
3.點擊Jupyter圖標(biāo),在Jupyter Notebook里開啟功能
4.然后打開hinterland功能
5.最后就可以使用代碼補(bǔ)全了
五、兩種鍵盤輸入模式
Jupyter Notebook 有兩種鍵盤輸入模式,即命令模式和編輯模式,這與 Vim 有些類似。在編輯模式下,可以往單元中鍵入代碼或文本,此時單元格被綠色的框線包圍,且命令模式下的快捷鍵不生效。在命令模式下,可以用快捷鍵命令運(yùn)行單元格,移動單元格,切換單元格編輯狀態(tài)等等,此時的單元格被灰色的框線包圍,且編輯模式下的快捷鍵不生效。
從命令模式進(jìn)入編輯模式需按 Enter
鍵,從編輯模式切換到命令模式需按 Esc
鍵。
5.1 編輯模式
當(dāng)條框單元為綠色時,此時處于編輯模式。編輯模式下我們主要記住代碼補(bǔ)全、代碼提示和運(yùn)行單元的快捷鍵。
快捷鍵 | 作用 |
---|---|
Tab | 代碼補(bǔ)全或縮進(jìn) |
Shift + Tab | 查看函數(shù)參數(shù),光標(biāo)要在括號中 |
Shift + Enter | 運(yùn)行本單元,選中下一單元 |
Ctrl + Enter | 運(yùn)行本單元 |
Alt + Enter | 運(yùn)行本單元并在下方插入一個單元 |
esc、點擊輸入框前面的 ln [ ] | 退出編輯模式 |
5.2 命令模式
當(dāng)輸入框為藍(lán)色時,此時處于命令模式。我們主要記住單元格增刪和單元格狀態(tài)轉(zhuǎn)換。
快捷鍵 | 作用 |
---|---|
y | 單元格進(jìn)入代碼模式 |
m | 單元格進(jìn)入 markdown 格式 |
A | 上方插入新單元格 |
B | 下方插入新單元格 |
DD | 刪除選中的單元格 |
enter | 進(jìn)入編輯模式 |
此外,還有三種運(yùn)行代碼模式快捷鍵,和編輯模式下相同,這里不再例舉。
5.3 其他常用快捷鍵
- ctrl+a: 全選
- ctrl+z: 撤銷
- ctrl+c: 復(fù)制
- ctrl+v: 粘貼
- 保存ctrl+s:
- ctrl+/:注釋或者取消注釋
- shift+1l: 選中多行
六、魔法命令
Jupyter Notebook 中有許多魔法命令,魔法命令提供了一種簡便、快捷的方式來執(zhí)行常見任務(wù),因此被稱為“魔法”。
6.1 查看幫助文檔
用法 | 作用 |
---|---|
? | 查看對變量、函數(shù)等的描述 |
?? | 查看更細(xì)致的描述 |
請看下面的代碼示例:
len?
返回:
Signature: len(obj, /)
Docstring: Return the number of items in a container.
Type: builtin_function_or_method
下面定義一個函數(shù):
def get_one():"""return the number 1"""return 1
如果是一個問號:
get_one?
返回
Signature: get_one()
Docstring: return the number 1
File: e:\temp\ipykernel_1692\2371390829.py
Type: function
如果是兩個問號:
get_one??
返回
Signature: get_one()
Source:
def get_one():"""return the number 1"""return 1
File: e:\temp\ipykernel_1692\2371390829.py
Type: function
看得出來,兩個問號給予的描述是更細(xì)致的,畢竟疑問號都多了一個嘛。
6.2 其他魔法命令
魔法命令基本上都是以 % 開頭的,用于實現(xiàn)一些在常規(guī)Python語法中無法實現(xiàn)或不容易實現(xiàn)的功能,使得開發(fā)者能夠輕松地執(zhí)行一些特定任務(wù),從而讓整個交互式計算環(huán)境顯得更加“神奇”和高效。
魔法命令 | 作用 |
---|---|
%run | 運(yùn)行后導(dǎo)入自定義文件,運(yùn)行完后,該文件內(nèi)的函數(shù)、類等都可以直接使用 |
%timeit | 統(tǒng)計運(yùn)行時間, 用于測試一行代碼性能,一般是耗時較短的 |
%time | 統(tǒng)計運(yùn)行時間,用于測試代碼性能,一般是耗時較長的 |
%who | 查看當(dāng)前會話的所有變量與函數(shù)名稱 |
%whos | 顯示變量類型和值 |
%who_ls | 以列表形式顯示變量和函數(shù)名 |
pip install | 用于安裝包 |
lsmagic | 查看所有魔法命令 |
? | 查看魔法命令的幫助文檔 |
現(xiàn)有一個名為 test.py 文件,包含如下內(nèi)容:
def display():"""show the number"""print('hello')
def add(x,y):return x+y
display()
下面演示魔法命令的使用,因為代碼較為簡短,因此直接以圖片形式展示。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-iglTQuH1-1690327331492)(C:\Users\崔羽飛\AppData\Roaming\Typora\typora-user-images\image-20230725111812375.png)]
七、結(jié)語
本期跟大家分享的內(nèi)容就到此結(jié)束了!希望本文的內(nèi)容能夠幫助到你。
參考
Ubuntu與windows下配置安裝jupyter-notebook以及其開機(jī)自啟、后臺運(yùn)行與遠(yuǎn)程訪問
windows環(huán)境 jupyter notebook 自啟動 局域網(wǎng)訪問
jupyter 的代碼自動補(bǔ)全
Python實現(xiàn)讀取txt文件并轉(zhuǎn)換為excel的方法示例
Jupyter Notebook介紹、安裝及使用教程
Jupyter Notebook介紹及使用操作
Jupyter Notebook 快捷鍵使用指南
Jupyter-notebook 常用魔法命令