# 學習神器Jupyter lab
## IDE是什么?
在學習python 的過程中經常會聽到IDE工具。那什么是IDE呢?
IDE是` Integrated Development Environment`的縮寫,中文翻譯為`集成開發環境`,一般包含代碼編輯器,編譯/解釋器,調試器和圖像用戶界面等工具,它是開發程序的工具集合。
使用IDE工具來進行軟件開發會事半功倍。不同的編程語言一般都有對應的主流IDE工具。
pycharm是一款為python開發量身打造的IDE工具,大多數python程序員都使用它進行python開發。在后面的教程中我再給大家介紹pycharm的使用。在零基礎學習階段,強烈大家使用另一款工具,學習神器。
`jupyter lab`(jupyter notebook的升級版)。
## Jupyter lab
Jupyter lab是一個交互式筆記本,支持運行40多種編程語言。它本質上是一個web應用程序,可以很方便的創建和共享程序文檔,支持實時代碼,數學方程,可視化和markdown。在學習python的時候用來寫筆記非常方便,強烈安利大家。
### 安裝
安裝好python解釋器后,通過下面的命令安裝jupyter lab
```bash
pip install jupyterlab -i https://pypi.douban.com/simple
```
然后安裝中文插件
```bash
pip install jupyterlab-language-pack-zh-CN -i https://pypi.douban.com/simple
```
### 啟動jupyter lab服務
打開cmd命令行,通過cd命令切換到你想要存放jupyter筆記的文件夾下,然后運行命令:
```bash
jupyter lab
```
或者通過下面的命令指定存放筆記的路徑為`d:\notebook`目錄,注意在命令中使用`\\`作為路徑分隔符,或者把路徑分隔符寫成`/`。這個目錄就是notebook網站的根目錄,在頁面上創建的目錄,文件都會在此根目錄下。
```python
jupyter lab --notebook-dir='d:\\notebook'
```
如果環境搭建正確,它會自動打開系統默認瀏覽器,然后進入首頁如下:

### 設置中文
點擊【settings】-》【Language】-》中文

### 創建文件夾

在文件瀏覽器下的側欄右鍵可以打開目錄操作菜單,可以創建新的目錄,新文本文件。
### 創建python腳本

點擊啟動頁中Notebook下的python圖標,會打開一個新的python腳本,默認情況下會在對應的目錄下創建一個名為`Untitled.ipytnb`文件,這個文件就是筆記文件。

在左側欄腳本名,或者右側腳本名上右鍵都可以彈出對應的菜單,可以重命名或刪除腳本。


### 輸入python代碼并運行
在打開的python腳本編輯區,會看到輸入框。

這個叫做單元格,單元格有多種模式,默認情況下是代碼輸入模式。可以直接在單元格輸入python代碼。

點擊菜單欄的運行按鈕,或者使用快捷方式`ctrl+enter`可以運行選中單元格的python代碼,并新增一個單元格。

是不是看起來跟解釋器一樣是交互式的,但jupyter有一個最大的好處就是可以保存代碼和運行結果。點擊編輯菜單左上角的保存按鈕(默認會自動保存),然后關閉腳本。下一次再打開這個腳本,代碼和運行結果還是可以看到。
### 編寫筆記
單元格的另一種模式是`markdown`,可以方便的編寫筆記。

然后編寫筆記

然后向運行python代碼一樣運行這個單元格,它就會渲染成對應格式的內容。

`markdown`是一種輕量級的標記語言,可以非常容易使用純文本格式編寫出有格式的內容。如果不會`markdown`語法,請自行百度,非常簡單,一學就會。
~~~
- 第1章 編程基礎
- 零基礎能學Python嗎?
- 編程語言是什么
- 編譯型與解釋型編程語言的區別
- python是什么?
- 學python能干什么?
- 第2章 python開發環境搭建
- windows下安裝python
- cmd命令行工具
- 環境變量如何設置?
- 如何運行python程序?
- 學習神器Jupyter lab
- 第3章 基本數據類型
- 基本數據類型概述
- 變量的定義和使用
- 整數類型
- 浮點數類型
- 算術運算符
- 賦值運算符
- 字符串類型
- 字符串常用方法
- 字符串格式化
- 列表類型
- 元組類型
- 可變與不可變類型
- 深淺拷貝
- 集合類型
- 字典類型
- 布爾型
- NoneType
- 第4章 程序流程控制
- 程序結構
- if分支語句
- while條件循環
- for循環
- 循環控制關鍵字
- 異常處理
- 第5章函數與代碼復用
- 函數的定義和調用
- 函數的參數
- 函數的返回值
- lambda函數
- 變量作用域
- python內建函數
- 第6章 面向對象
- 類和對象
- 屬性
- 方法
- 繼承
- super()函數
- 多態
- 私有化
- 自省與反射機制
- 第7章 模塊和包
- 模塊
- 包
- 第三方庫
- 第8章 文件IO操作
- 文件概述
- 字符編碼
- 字節類型
- python讀取文件
- python寫文件
- 文件指針