快捷键:
命令模式 (按键 Esc 开启)
Enter: 转入编辑模式
Shift-Enter: 运行本单元,选中下个单元
Ctrl-Enter: 运行本单元
Alt-Enter: 运行本单元,在其下插入新单元
Y: 单元转入代码状态
M:单元转入markdown状态
R: 单元转入raw状态
1: 设定 1 级标题
2: 设定 2 级标题
3: 设定 3 级标题
4: 设定 4 级标题
5: 设定 5 级标题
6: 设定 6 级标题
Up: 选中上方单元
K: 选中上方单元
Down: 选中下方单元
J: 选中下方单元
Shift-K: 扩大选中上方单元
Shift-J: 扩大选中下方单元
A: 在上方插入新单元
B: 在下方插入新单元
X: 剪切选中的单元
C: 复制选中的单元
Shift-V: 粘贴到上方单元
V: 粘贴到下方单元
Z: 恢复删除的最后一个单元
D,D: 删除选中的单元
Shift-M: 合并选中的单元
Ctrl-S: 文件存盘
S: 文件存盘
L: 转换行号shift + L 全部的行号
O: 转换输出
Shift-O: 转换输出滚动
Esc: 关闭页面
Q: 关闭页面
H: 显示快捷键帮助
I,I: 中断Notebook内核
0,0: 重启Notebook内核
Shift: 忽略
Shift-Space: 向上滚动
Space: 向下滚动
编辑模式 ( Enter 键启动)
Tab: 代码补全或缩进
Shift-Tab: 提示
Ctrl-]: 缩进
Ctrl-[: 解除缩进
Ctrl-A: 全选
Ctrl-Z: 复原
Ctrl-Shift-Z: 再做
Ctrl-Y: 再做
Ctrl-Home: 跳到单元开头
Ctrl-Up: 跳到单元开头
Ctrl-End: 跳到单元末尾
Ctrl-Down: 跳到单元末尾
Ctrl-Left: 跳到左边一个字首
Ctrl-Right: 跳到右边一个字首
Ctrl-Backspace: 删除前面一个字
Ctrl-Delete: 删除后面一个字
Esc: 进入命令模式
Ctrl-M: 进入命令模式
Shift-Enter: 运行本单元,选中下一单元
Ctrl-Enter: 运行本单元
Alt-Enter: 运行本单元,在下面插入一单元
Ctrl-Shift--: 分割单元
Ctrl-Shift-Subtract: 分割单元
Ctrl-S: 文件存盘
Shift: 忽略
Up: 光标上移或转入上一单元
Down:光标下移或转入下一单元
Ctrl+enter 执行本cell
shift+enter 执行本cell且 向下建立一个新cell
A 向上建立一个cell
B 向下建立一个cell
esc+m 把cell切换至markdown模式
esc+y 把cell切换至code模式
esc+l 显示行数
d d 删除cell
o 收起output 或者打开output
在这里我要自定义一个快捷键ctrl+O , 语法如下
Valid Examples:Shift-a, Ctrl-;, or Ctrl-Shift-a.
ctrl+o 收起或打开全部output
复合快捷键
shift 选中多个cell
然后执行 shift+M 合并选中cell
Esc + F 查找和替换你的代码,但不包括代码的输出内容。
Esc + o 打开代码块输出。
选择多个cell。
Shift + J或Shift + Down向下选中下一个cell. 你可以通过Shift + K或Shift + Up向上选中cell。
一旦cell被选中,接着你可以进行批量删除/复制/剪切/粘贴.当你需要移动一部分notebook时,这非常有用。
修改anaconda默认目录:
python知识
保存变量
pickle.dump(train_df_new_X, open('./train_df_new_X.txt', 'wb'))
train_df_new_X = pickle.load(open('./train_df_new_X.txt', 'rb'))
符号变量
from sympy import *
x=Symbol("x")
diff(1/(1+x**2),x)
>>> expr = cos(2*x)
>>> expr.evalf(subs={x: 2.4})
0.0874989834394464
pdb调试
http://blog.csdn.net/wyb_009/article/details/8896744
结束添加print然后执行脚本的低效Debug方式,熟悉GDB的同学应该很容易就接受PDB。官方文档地址:http://docs.python.org/library/pdb.html。
使用PDB的方式有两种,其中一种是在脚本中添加代码,不觉得这种方式比print好在哪里,所以这种方式此文不表。这里我们只学习PDB的命令行使用方式。
1)进入命令行Debug模式,python -m pdb myscript.py
2)h:(help)帮助
3)w:(where)打印当前执行堆栈
4)d:(down)执行跳转到在当前堆栈的深一层(个人没觉得有什么用处)
5)u:(up)执行跳转到当前堆栈的上一层
6)b:(break)添加断点
b 列出当前所有断点,和断点执行到统计次数
b line_no:当前脚本的line_no行添加断点
b filename:line_no:脚本filename的line_no行添加断点
b function:在函数function的第一条可执行语句处添加断点
7)tbreak:(temporary break)临时断点
在第一次执行到这个断点之后,就自动删除这个断点,用法和b一样
8)cl:(clear)清除断点
cl 清除所有断点
cl bpnumber1 bpnumber2... 清除断点号为bpnumber1,bpnumber2...的断点
cl lineno 清除当前脚本lineno行的断点
cl filename:line_no 清除脚本filename的line_no行的断点
9)disable:停用断点,参数为bpnumber,和cl的区别是,断点依然存在,只是不启用
10)enable:激活断点,参数为bpnumber
11)s:(step)执行下一条命令
如果本句是函数调用,则s会执行到函数的第一句
12)n:(next)执行下一条语句
如果本句是函数调用,则执行函数,接着执行当前执行语句的下一条。
13)r:(return)执行当前运行函数到结束
14)c:(continue)继续执行,直到遇到下一条断点
15)l:(list)列出源码
l 列出当前执行语句周围11条代码
l first 列出first行周围11条代码
l first second 列出first--second范围的代码,如果second
16)a:(args)列出当前执行函数的函数
17)p expression:(print)输出expression的值
18)pp expression:好看一点的p expression
19)run:重新启动debug,相当于restart
20)q:(quit)退出debug
21)j lineno:(jump)设置下条执行的语句函数
只能在堆栈的最底层跳转,向后重新执行,向前可直接执行到行号
22)unt:(until)执行到下一行(跳出循环),或者当前堆栈结束
23)condition bpnumber conditon,给断点设置条件,当参数condition返回True的时候bpnumber断点有效,否则bpnumber断点无效
注意:
1:直接输入Enter,会执行上一条命令;
2:输入PDB不认识的命令,PDB会把他当做Python语句在当前环境下执行;
其他好功能
http://liuchengxu.org/pelican-blog/jupyter-notebook-tips.html
upyter 支持多光标操作,与 Sublime Text 类似。按住 Alt 进行点击和拖拽鼠标即可。
%matplotlib inline