目录
1 快捷键
1.1 常用快捷键
(1)代码运行键
如需运行一个cell(代码框)内的Python代码,可以选择Ctrl + Enter组合键,也可以选择Shift + Enter组合键。两者的区别在于前者在运行完代码后不会新增cell,而后者会新增cell或跳转到下一个cell。
(2)自动补齐键
在代码编写过程中,如果只记得函数或变量名称的前几个字母,可以通过Tab键,实现全名称(如函数名、方法名、变量名等)的自动补齐。
(3)帮助查询键
Python中有庞大的第三方包,而每个包中又包含很多功能性的函数,在使用这些函数时,往往会忘记函数内参数的具体用法,此时可以在函数后面按入Shift+Tab组合键,查看对应的帮助文档,而且还可以多按几次“Tab”键,返回不同风格的帮助文档。
(4)cell创建键
在command模式下,按下字母a键,则会在当前cell的上方新增一个cell,如果按下字母b键,则会在当前cell的下方新增一个cell。
(5)cell删除键
在command模式下,连续按两次d字母键,就可以轻松删除当前cell。或者还有另一个方法,在command模式下,按一次字母x键也可以实现cell的删除。
(6)注释添加/取消键
如需给代码行或代码块增加注释功能,可以使用“Ctrl+/”的组合键,对于代码块的注释需要先选中,在使用组合键。如果原始代码中没有注释符,按入该组合键则增加注释,否则将取消注释。
(7)保存键
在编写代码时,最好养成良好的习惯,那就是编写代码便保存(尽管Jupyter默认会2分钟自动保存一次,但2分钟内万一出现一些意外,岂不是糟糕啦)。代码的保存可以在command模式下,按一次字母s键。
(8)行号显示键
在其他编程环境中也许会显示代码行号,但是在Jupyter的默认情况下是没有代码行号的,如果期望一个cell中显示所有代码对于的行编号,可以在command模式下,按一次字母l键。
(9)code与markdown间切换键
code指的是Jupyter环境下所进行的Python代码的编写,而markdown则是用于非代码的笔记内容的编写。两者之间是可以轻松切换的,在command模式下,按一次字母m便从code切换到markdowen模式;如果从command模式中,按一次字母y就可以从markdown模式切换到code模式。
1.2 魔法函数
(1)%pwd
该魔法函数用于显示Jupyter当前的工作空间。
(2)%hist
该魔法函数用于显示当前Jupyter中,所有运行过的历史代码。
(3)%who
该魔法函数用于显示当前Jupyter环境中的所有变量或名称。
(4)%reset
该魔法函数用于删除当前Jupyter环境中的所有变量或名称。
(5)%time
该魔法函数用于计算当前代码行的运行时长。
(6)%timeit
该魔法函数用于计算当前代码行的平均运行时长(即在执行一个语句100000次(默认情况下)后,再给出运行最快3次的平均值。
(7)%%timeit
该魔法函数用于计算当前cell的代码运行时长。
(8)%matplotlib
该魔法函数用于显示绘图结果的风格,默认为%matplotlib inline,是直接将图片显示在浏览器中,如果希望图片单独生成,可以使用%matplotlib。
(9)%load
该魔法函数用于加载本地Python文件或者网络中的Python文件,例如本地脚本文件的加载:%load xxx.py。
(10)%run
该魔法函数用于运行本地或网络中的Python文件,例如本地脚本文件的运行:%load xxx.py。
2 常用快捷键
2.1 模式切换
当前cell侧边为蓝色时,表示此时为命令模式,按Enter切换为编辑模式
当前cell侧边为绿色时,表示此时为编辑模式,按Esc切换为命令模式
2.2 命令模式快捷键
H:显示快捷键帮助
F:查找和替换
P:打开命令面板
Ctrl-Enter:运行当前cell
Shift-Enter:运行当前cell并跳转到下一cell
Alt-Enter:运行当前cell并在下方新建cell
Y:把当前cell内容转换为代码形式
M:把当前cell内容转换为markdown形式
16:把当前cell内容设置为标题16格式
Shift+上下键:按住Shift进行上下键操作可复选多个cell
A:在上方新建cell
B:在下方新建cell
X/C/Shift-V/V:剪切/复制/上方粘贴/下方粘贴
双击D:删除当前cell
Z:撤销删除
S:保存notebook
L:为当前cell的代码添加行编号
Shift-L:为所有cell的代码添加行编号
Shift-M:合并所选cell或合并当前cell和下方的cell
双击I:停止kernel
双击0:重启kernel
2.3 编辑模式快捷键
Tab:代码补全
Ctrl+A:全选
Ctrl+Z:撤销
Ctrl+Home:将光标移至cell最前端
Ctrl+End:将光标移至cell末端
3 Matplotlib绘图
若要使用Matplotlib绘图,为确保图形能顺利输出,需在cell开头键入%matplotlib inline
o Jupyter Notebook中直接加载指定网站的源代码到笔记本中
执行以下命令:
%load URL (其中,URL为指定网站的地址)
o Jupyter Notebook中加载本地的Python文件并执行文件代码
执行以下命令:
%load Python文件的绝对路径
注意:①Python文件的后缀为.py
②%load 后面跟的是Python文件的绝对路径
③输入命令后,可以按Ctrl + Enter 来执行命令。第一次执行,是将本地的Python文件 内容加载到单元格内。此时,Jupyter notebook会自动将“%load”命令注释掉(即再前面加井号#),以便在执行已加载的文件代码时不会重复执行该命令;第二次执行,则是执行已加载文件的代码。
o不想在Jupyter Notebook的单元格中加载本地Python文件,想要直接运行
执行以下命令:
%run Python文件的绝对路径
或
!python Python文件的绝对路径
或
!python3 Python文件的绝对路径
注意:①!python 用于执行Python 2.x版本的代码
②!python3用于执行Python 3.x版本的代码
③!python和!python属于!shell命令语法的使用,即在Jupyter notebook中执行shell命令的语法。
④输入命令后,可以按下Ctrl+Enter执行命令,执行过程中将不再显示本地Python文件的内容,直接显示运行结果。
4 小技巧
4.1 文件默认目录的查看以及更改
win+r,输入cmd,输入
jupyter notebook --generate-config
可以看到此时Jupyter Notebook的默认目录
找到对应路径下的jupyter_notebook_config.py文件,用文本编辑器打开,找到这一句
#c.NotebookApp.notebook_dir = ''
然后删掉前面的#,再在 ’ '中间放希望设置的路径即可。
4.2 更改主题颜色
Available Themes:
1 chesterish 黑色
2 grade3 白灰相间
3 gruvboxd 深焦黄色,还行
4 gruvboxl 护眼浅黄色
5 monokai 黑色,还行
6 oceans16 深灰色
7 onedork 少浅暗灰色
8 solarizedd 墨蓝色
9 solarizedl 正常护眼色
5 其它
5.1 python中 r’‘, b’‘, u’‘, f’’ 的含义
r/R:非转义的原始字符串
r’input\n’ # 非转义原生字符,经处理’\n’变成了’\‘和’n’。也就是\n表示的是两个字符,而不是换行。
b:bytes
python3.x里默认的str是(py2.x里的)unicode, bytes是(py2.x)的str, b”“前缀代表的就是bytes
python2.x里, b前缀没什么具体意义, 只是为了兼容python3.x的这种写法
b’input\n’ # bytes字节符,打印以b开头。
u/U:表示unicode字符串
不是仅仅是针对中文, 可以针对任何的字符串,代表是对字符串进行unicode编码。
一般英文字符在使用各种编码下, 基本都可以正常解析, 所以一般不带u;但是中文, 必须表明所需编码, 否则一旦编码转换就会出现乱码。
建议所有编码方式采用utf8
u’input\n’ # unicode编码字符,python3默认字符串编码方式。
5.2 f/format():格式化操作
6 常见问题
6.1 查看模块安装路径
win+R
cmd
pip show pandas -- 可以看到pands模块的安装路径
6.2 安装&更新模块
打开cmd
-- 安装pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
-- 更新pip
-- 查看当前python版本
python --version
-- 更新pandas
pip install --upgrade pandas
No module named 'numpy.testing.nosetester' --需要更新scipy模块
jupyter 安装/更新模块
!pip3 install --user -i https://pypi.tuna.tsinghua.edu.cn/simple scipy==1.1.0 --更新scipy
jupyter 每次更新会加载到内存里面,所以每次更新模块之后,需要关闭jupyter 重新打开
jupyter notebook 按tab键无法自动补全
pip uninstall jedi --yes
stack overflow上解释说目前jupyter notebook中的ipython不再需要jedi,所以把它卸载即可
https://www.pianshen.com/article/65931113008/