分享

JupyterNotebook——Python神器之大型扫盲运动

 静幻堂 2018-09-09
老陈打码 2018-09-09 00:54:37

Jupyter notebook,一个Python居家旅游必备工具,谁用谁知道!好,今天就来掌握好这门工具。

神器简介

通俗的说,有了这款神器,你可以瞬间创建1个在线或者离线的网站。这个WEB站点可以在1个Web页面上集成Python开发环境、代码、数据可视化、说明文档、数学方程等等。让你随时随地进行Python相关研究、学习、记笔记。当然JupyterNotebook支持运行 40 多种编程语言,所以还可以任意的切换其他语言。

JupyterNotebook——Python神器之大型扫盲运动

神器安装

最简单的方法就是使用 Anaconda,其发行版附带了 Jupyter notebook。

在 conda 环境下安装 Jupyter notebook ,使用

conda install jupyter notebook

pip安装

pip install jupyter notebook。

运行神器

如果使用 Anaconda,可以在其 Navigator 图形界面中点击打开 Notebook。但是最快捷的方法还是在命令行中输入:

jupyter notebook

完成之后,Jupyter Notebooks 就会在你的默认网络浏览器打开,地址是:

http://localhost:8888/tree

在某些情况下,它可能不会自动打开。而是会在终端/命令行生成一个 URL,并带有令牌密钥提示。你需要将包含这个令牌密钥在内的整个 URL 都复制并粘贴到你的浏览器,然后通过New创建新的文本、文档、目录。

神器心法——快捷键

高手们都知道,快捷键可以节省很多时间。Jupyter在顶部菜单提供了一个快捷键列表:

Help > Keyboard Shortcuts

每次更新Jupyter的时候,一定要看看这个列表,因为不断地有新的快捷键加进来。

另外一个方法是使用

Cmd + Shift + P ( Linux 和 Windows下 Ctrl + Shift + P亦可)

调出命令面板。这个对话框可以让你通过名称来运行任何命令——当你不知道某个操作的快捷键,或者那个操作没有快捷键的时候尤其有用。这个功能与苹果电脑上的Spotlight搜索很像,一旦开始使用,你会欲罢不能。

常用快捷键

  • Esc + F 在代码中查找、替换,忽略输出。
  • Esc + O 在cell和输出结果间切换。
  • Shift + J 或 Shift + Down 选择下一个cell。
  • Shift + K 或 Shift + Up 选择上一个cell。
  • Shift + M 合并cell.

轻松链接到文档

在Help 菜单下,你可以找到常见库的在线文档链接,包括Numpy,Pandas,Scipy和Matplotlib等。 另外,在库、方法或变量的前面打上?,即可打开相关语法的帮助文档。如:

?str.replace

神器魔力命令 - %run: 运行python代码

%run 可以运行.py格式的python代码——这是众所周知的。不那么为人知晓的事实是它也可以运行其它的jupyter notebook文件,这一点很有用。 注意:使用%run 与导入一个python模块是不同的。

%run haha.py

神器魔力命令 -%load:从外部脚本中插入代码

该操作用外部脚本替换当前cell。可以使用你的电脑中的一个文件作为来源,也可以使用URL。

%load haha.py


神器魔力命令 - %store: 在notebook文件之间传递变量

%store 命令可以在两个notebook文件之间传递变量。

如在一个notebook里写代码如下:

data = 'this is the string I want to pass to different notebook'
%store data

在另外一个notebook里写代码如下:

%store -r data
print(data)

神器魔力命令 - %who: 列出所有的全局变量

不加任何参数, %who 命令可以列出所有的全局变量。加上参数 str 将只列出字符串型的全局变量。

one = "for the money"
two = "for the show"
three = "to get ready now go cat go"
%who str

神器魔力命令 – 计时

有两种用于计时的jupyter magic命令: %%time 和 %timeit.当你有一些很耗时的代码,想要查清楚问题出在哪时,这两个命令非常给力。 仔细体会下我的描述哦。 %%time 会告诉你cell内代码的单次运行时间信息。 %timeit会告诉你这一行单次运行的时间。

神器魔力命令 - %%writefile 和 %pycat:导出cell内容/显示外部脚本的内容

使用%%writefile magic可以保存cell的内容到外部文件。 而%pycat功能相反,把外部文件语法高亮显示(以弹出窗方式)。

%%writefile pythoncode.py

import numpy
def append_if_not_exists(arr, x):
if x not in arr:
arr.append(x)

def some_useless_slow_function():
arr = list()
for i in range(10000):
x = numpy.random.randint(0, 10000)
append_if_not_exists(arr, x)

将外部文件以语法高亮的形式显示

%pycat pythoncode.py

神器魔力命令 - %prun: 告诉你程序中每个函数消耗的时间

使用%prun+函数声明会给你一个按顺序排列的表格,显示每个内部函数的耗时情况,每次调用函数的耗时情况,以及累计耗时。

%prun abc()

PS补充一下

其实IPython所具有的功能,JupyterNotebook都有。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多