22-3-第九章 ArcGIS API for Python (3)

9.6 Writing code in a notebook

notebook中的Python代码是按单元格Cells组织的。单元格就像一小段代码。逐行在单元格中输入代码,然后运行单元格的代码。一个单元格只能由一行代码组成,但也可以包含多行代码。一个笔记本通常包含多个单元格。
将代码行键入单元格。要运行代码,请按键盘上的Ctrl+Enter键,或单击单元格前面的“运行”图标,结果打印在单元格的正下方。
在这里插入图片描述
这个简单的例子,说明了Jupyter Notebook的几个关键点。
首先,将代码组织到单元格中,并逐单元格运行代码。其次,将结果打印在单元格下方,以便立即进行检查。如后面的示例所示,结果不仅限于打印文本,还可以包括图形、地图和其他可视化效果。

通过在每行代码后使用Enter键,可以为单个单元格添加多行代码。回想一下,在Python IDE中的一个典型交互窗口中,Enter键会导致正在运行的代码行。在 Jupyter笔记本中,当单击Run或Ctrl+Enter时,单个单元格的所有代码行都会运行,下面的示例显示了一个包含四行代码的单元格,并且在运行该单元格时打印得到的字符串。
在这里插入图片描述
结果不仅在打印消息时返回。考虑下面的示例代码,它统计字符串中出现的特殊字符的次数。

================================================================

这里参考其他人的博客,设置了自动补全代码:

pip install jupyter_contrib_nbextensions
jupyter nbextensions_configurator enable --user

上面的代码运行后,重新打开jupyter,可以看到Hinterland插件,勾选上要。在这里插入图片描述
又参考了下面的代码和图
在这里插入图片描述

pip install jupyter_nbextensions_configurator jupyter_contrib_nbextensions
jupyter contrib nbextension install
jupyter nbextensions_configurator enable

在这里插入图片描述
之后就可以了
在这里插入图片描述

===============================================================
当单元运行时,结果显示为输出。因此,在Jupyter笔记本中没有必要使用print()函数打印消息,会直接打印在语句下面。
在这里插入图片描述
Jupyter Notebook使用了IPython接口的元素,如输入提示符In[n]的使用所示,其中n是正整数,这个数字从1开始,并随着附加单元格的增加而增加。但是,每次再次运行同一单元格时,该数字也会增加。

例如,可以更改单元格的代码,然后再次运行该单元格。作为结果,用于输入提示和输出提示的数字被更新。
在这里插入图片描述
输入和输出的数字对代码执行没有影响。只需跟踪代码的运行顺序即可<可以通过单击内核>重新启动重新启动内核来重置数。

如前所述,内核是Jupyter Notebook的执行后端,您可以在命令提示符窗口中看到它的运行。本章中的示例通常以数字1开头每个新示例,但代码运行不需要从数字1开始。

单击笔记本顶部菜单上的“在下方插入单元格”按钮(加号)可以添加新单元格。单击顶部菜单上的“运行”按钮时,将执行当前单元格,并在下面自动添加一个新单元格。当您使用Shift+Enter键盘快捷键而不是Ctrl+Enter执行单元格时,也可以触发相同的操作。您也可以通过按键盘上的b键来添加单元格,但这需要您的光标不在单元格内,否则,您只需输入字符b。
下面的例子说明了两个单元格的使用,每个单元格都有自己的输出。
在这里插入图片描述
即使笔记本中的代码是逐单元格输入的,但任何以前使用的变量都存储在内存中,并且可以使用。从这个意义上说,笔记本就像一个普通的Python脚本,但它被组织成代码块(称为“单元”),这些代码块可以彼此分开运行。

将代码组织到单元格中会出现一些问题。例如,如果更新了一个变量,则必须先运行为该变量赋值的单元格,然后才能在其他单元格中使用该变量。考虑下面的例子,其中第一个单元格中的字符串是modified(将“Notebook”更改为“Notebok”会导致拼写错误),但该单元格没有运行。运行使用变量的第二个单元格会导致错误的答案,因为它仍在使用变量的早期值。在示例代码中,即使字符串“book”没有出现在字符串“Jupyter Notebok”中,结果也会打印True在这里插入图片描述

解决方案是运行对变量进行更改的单元格,然后运行正在使用变量的单元格,当你习惯于运行Python脚本时,这有点违反直觉,因为pycharm等整个脚本都是默认运行的。

手动运行每个单元格的另一种方法是使用“单元格”菜单中的“全部运行”选项。当笔记本中有多个单元格并在顶部进行了更改时,这个选项非常有用, Run All命令按笔记本中列出的顺序运行所有单元格,并更新结果。

有许多工具可以管理笔记本中的单元格。可以选择一个单元格并使用工具栏中的工具之一,包括插入单元格(加号)、删除单元格(剪刀)、复制单元格、粘贴单元格、向上移动单元格(向上箭头)和向下移动单元格(向下箭头)<“编辑”菜单下还有几个附加选项,包括合并单元格和拆分单元格。

在笔记本中浏览单元格时,您可能已经注意到它们是如何在绿色和蓝色之间变化的。当单元格为绿色时,光标位于单元格内,您可以键入代码或文本。当单元格为蓝色时,会选中该单元格,但光标不在要编写代码的单元格内。

使用键盘快捷键时,单元格的颜色编码特别有用,因为当光标位于单元格内时,这些快捷键可能不起作用。

如果一直在更传统的IDE中编写常规Python脚本,那么在笔记本中使用单元格需要一些习惯。然而,在单元格中组织代码有很多优点。可以错误并再次运行代码,而不必使用多个窗口。考虑下面的例子,它使用Python 2中的print语句,而不是图中所示的print()函数。

在这里插入图片描述
可以更新代码行,然后再次运行单元格<不需要在不同的窗口中检查打印结果(通常在运行独立脚本时),也不需要将代码行复制并粘贴到新行中(通常在使用交互式解释器时)<也不需要运行笔记本中的所有单元格,因为可以进行更改,然后只运行感兴趣的单元格。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值