编写 Python 笔记本或 Apache Spark 作业定义时,采用良好的样式和约定有很多好处。 通过一致地设置代码的格式,可以:
- 更轻松地阅读代码。
- 提高代码的可维护性。
- 更快地进行代码评审。
- 执行更准确的差异,用于检测版本之间的更改。
具体而言,本文介绍了如何扩展 Fabric 笔记本以使用符合 PEP 8 规范的代码格式化程序。
注意
PEP 是 Python 增强建议的首字母缩略词。 PEP 8 是描述 Python 代码的编码约定的样式指南。
扩展 Fabric 笔记本
可以使用笔记本扩展来扩展 Fabric 笔记本。 笔记本扩展是向笔记本界面添加新功能的软件组件。 你需要将扩展作为库来进行安装,然后将其设置为满足特定需求。
本文考虑了两个可用于在 Fabric 笔记本中设置 Python 代码格式的扩展。 这两个扩展均可从 GitHub 免费获取。
- black Python 代码格式化程序扩展。
- jupyter-black 格式化程序扩展,该扩展还可用于在 Jupyter Notebook 或 Jupyter Lab 中自动设置代码的格式。
设置代码格式化程序扩展
在 Fabric 笔记本中设置代码格式化程序扩展的方法有两种。 第一种方法涉及工作区设置,而第二种方法涉及内联安装。 你需要在安装扩展后启用代码格式设置。
工作区设置
使用工作区设置为 Fabric 工作区设置工作环境。 要使库可用于工作区中的任何笔记本和 Spark 作业定义,可以创建环境,在其中安装库,然后工作区管理员即可以将环境附加为工作区的默认值。 因此,在工作区的默认环境中安装代码格式化程序扩展时,工作区中的所有笔记本都可以从中受益。
有关环境的详细信息,请参阅在 Microsoft Fabric 中创建、配置和使用环境。
内联安装
如果要为特定笔记本安装库,而不是针对工作区中的所有笔记本,请使用内联安装方法。 如果需要一个不影响工作区中的其他笔记本的临时或快速解决方案,则此方法非常方便。
若要了解如何执行内联安装,请参阅内联安装。
在以下示例中,%pip 命令用于在驱动程序和执行程序节点上安装最新版本的 Jupyter-black 扩展。
# Install the latest version by using %pip command
# It will be available on both driver and executor nodes
%pip install jupyter-black
启用代码格式设置
安装代码格式设置扩展后,必须为笔记本启用代码格式设置。 你可以通过加载扩展来完成此操作,这可以通过以下两种方式之一完成。
使用 %load_ext
magic 命令。
# Load the jupyter-black extension
%load_ext jupyter_black
或者,通过使用编程 API 来使用负载扩展。
import jupyter_black
jupyter_black.load()
提示
为了确保所有笔记本都启用代码格式设置(这在企业开发方案中非常有用),请在模板笔记本中启用格式设置。
格式代码
若要设置代码格式,请选择要设置格式的代码行,然后按 Shift+Enter。
以下 11 行代码尚未正确设置格式。
def unique(list_input):
list_set = set(list_input
)
unique_list = (list(
list_set
)
)
for x in unique_list:
print(
x
)
应用格式设置后,扩展会将脚本缩减为只有五行。 现在,代码采用了良好的样式和约定。
def unique(list_input):
list_set = set(list_input)
unique_list = list(list_set)
for x in unique_list:
print(x)
相关内容
有关 Fabric 笔记本的详细信息,请参阅以下文章。
- 在 Microsoft Fabric 中管理 Apache Spark 库
- 是否有任何问题? 尝试咨询 Fabric 社区。
- 建议? 提供改进 Fabric 的想法。