在 Microsoft Fabric 笔记本中设置代码格式

编写 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 笔记本的详细信息,请参阅以下文章。