jupyter notebooke 基本操作
-
cell单元格的状态
- 编辑状态 鼠标点击cell内部,就转换成可编辑状态
选中状态下 按下Enter, 也可以切换到编辑状态 - 选中状态 鼠标点击cell左侧,边框颜色变成蓝色,此时为选中状态
编辑状态下 按下 ESC, 也可以切换到选中状态
- 编辑状态 鼠标点击cell内部,就转换成可编辑状态
-
新增单元格
- 选中状态下:
- b 在选中单元格的正下方,新增一个单元格cell
- a 在选中单元格的正上方,新增一个单元格cell
- 选中状态下:
-
删除单元格
- 选中状态下:dd 删除当前选中的单元格
-
剪切单元格
- 选中状态下:x 剪切当前选中的单元格
-
粘贴单元格
- 选中状态下:v 粘贴单元格(默认是粘贴到下面)
-
撤销单元格操作
- 选中状态下:z 撤销上一步的单元格操作
-
单元格状态切换
- code 代码状态 python 代码 点击上方的复选框,选择code
选中状态 按下y切换到代码状态 - markdown 文本状态 点击上方的复选框,选择markdown
选中状态 按下m切换到代码状态
- code 代码状态 python 代码 点击上方的复选框,选择code
-
单元格的运行
-
如果是代码状态:运行代码
-
如果markdown状态:进入预览界面
- Ctrl + Enter 运行当前单元格,选中当前单元格
- Shift+Enter : 运行本单元,选中下个单元
- Alt+Enter : 运行本单元,在下面插入一单元
-
markdown的基本语法
- 示例 :流程图
常规操作
启动程序
-
执行以下命令:
jupyter notebook
[NotebookApp] Serving notebooks from local directory: /home/nanfengpo
[NotebookApp] 0 active kernels
[NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
【注意】:- 打开地址为当前bash的目录,默认的根目录
- 浏览器地址为http://localhost:8888/
- 通过control -C终止jupyter程序
ipython的帮助文档
1. 使用help()
通过以下命令来获得帮助文档:
help(len)
Help on built-in function len in module builtins:
len(obj, /) Return the number of items in a container.
2、使用?
或者使用问号:
len?
还可以应用到自定义的变量和自定义的函数上来返回帮助文档
此外,使用两个??可以把函数的源代码显示出来
3. tab自动补全
敲击tab键能自动补全
numpy.
也可以在import的时候自动补全
import nu
IPython魔法命令
1.运行外部Python文件
使用下面命令运行外部python文件(默认是当前目录,最好加上绝对路径)
%run *.py
例如在当前目录下有一个myscript.py文件:
def square(x): “”“square a number”"" return x ** 2
for N in range(1, 4): print(N, “squared is”, square(N))
我们可以通过下面命令执行它:
%run myscript.py
【注意】:
- 当使用%run指令运行一个py文件时,这个Python文件中所有的 资源都被加载进来
- 所有的cell共享这些资源
- 每个cell占用自己的进程,互不干扰
- 当我们使用魔法命令执行了一个外部文件时,该文件的函数就能在当前会话中使用
2.运行计时
-
衡量一个算法的运行时间
用下面命令计算statement的运行时间:%time statement
def get_sum(num):
result = 0
for i in range(num):
result += i
return result
#计算单个函数单次运行时间
%time get_sum(10000000)
Wall time: 652 ms
49999995000000
#计算多个函数单次运行时间
%%time
get_sum(10000000)
get_sum(1000000)
get_sum(100000)
#计算单个函数多次运行时间
%timeit get_sum(10000000)
#计算多个函数多次运行时间
%%timeit
get_sum(10000000)
get_sum(1000000)
get_sum(100000)
- 使用场景
如果时间短, 可以使用timeit
如果时间长, 可以使用time
偶然性思想
时间短,偶然性强 需要timeit来消除偶然性
时间长,偶然性差,可以使用time运行
3.查看当前会话中的所有变量与函数
-
快速查看当前会话的所有变量与函数名称:
%who
-
查看当前会话的所有变量与函数名称的详细信息:
%whos
-
返回一个字符串列表,里面元素是当前会话的所有变量与函数名称:
%who_ls
4. 执行Linux指令
Linux指令:
$ echo "hello world" # echo is like Python's print function hello world
$ pwd # pwd = print working directory /home/jake # this is the "path" that we're sitting in
$ ls # ls = list working directory contents notebooks projects
$ mkdir mm /home/jake/projects
在Linux指令之前加上 !,即可在ipython当中执行Linux指令。
注意会将标准输出以字符串形式返回
-
windows执行指令
%pwd
5. 更多魔法命令
列出所有魔法命令
lsmagic
Available line magics:
%alias %alias_magic %autocall %automagic %autosave %bookmark %cd %clear %cls %colors %config %connect_info %copy %ddir %debug %dhist %dirs %doctest_mode %echo %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %macro %magic %matplotlib %mkdir %more %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %popd %pprint %precision %profile %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %ren %rep %rerun %reset %reset_selective %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode
Available cell magics:
%%! %%HTML %%SVG %%bash %%capture %%cmd %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile
Automagic is ON, % prefix IS NOT needed for line magics.
查看魔法命令的文档: 使用?
四、IPython输入输出历史
-
1.可使用In/Out调用输入输出历史
In返回一个字符串列表,里面是所有输入命令的字符串Out返回一个含有输出的命令的序号及其输出组成的字典
两者皆可以通过索引获取元素
-
2.使用下划线表示输出
"_"表示上一个输出"_2"表示Out[2]
-
作用:
- 输入输出历史
- 参考代码的运行次序
- 后运行的代码 优先级高于 先运行的代码