Dela via


Formatera kod i Microsoft Fabric-notebook-filer

Det finns många fördelar med att använda bra stil och konventioner när du skriver en Python-notebook- eller Apache Spark-jobbdefinition. Genom att konsekvent formatera koden kan du:

  • Gör det lättare att läsa koden.
  • Ökar kodens underhållbarhet.
  • Utför snabbare kodgranskningar.
  • Utför mer exakta diffs, som identifierar ändringar mellan versioner.

Mer specifikt beskriver den här artikeln hur du kan utöka en Fabric-notebook-fil till att använda en PEP 8-kompatibel kodformaterare.

Kommentar

PEP är förkortningen för Python Enhancement Proposals. PEP 8 är en stilguide som beskriver kodningskonventioner för Python-kod.

Utöka Notebook-filer för Infrastruktur

Du kan utöka en Fabric-notebook-fil med hjälp av ett notebook-tillägg. Ett notebook-tillägg är en programvarukomponent som lägger till nya funktioner i notebook-gränssnittet. Du installerar ett tillägg som ett bibliotek och sedan konfigurerar du det för att uppfylla dina specifika behov.

I den här artikeln beskrivs två tillägg som du kan använda för att formatera Python-kod i en Fabric-notebook-fil. Båda tilläggen är fritt tillgängliga från GitHub.

  • Det svarta Python-kodformateringstillägget.
  • Tillägget jupyter-black formatter, som du också kan använda för att automatiskt formatera kod i en Jupyter Notebook eller Jupyter Lab.

Konfigurera ett kodformateringstillägg

Det finns två metoder för att konfigurera ett kodformateringstillägg i en Fabric-notebook-fil. Den första metoden omfattar arbetsyteinställningar, medan den andra metoden omfattar in-line-installation. Du aktiverar kodformatering när du har installerat tillägget.

Inställningar för arbetsytan

Använd inställningarna för arbetsytan för att konfigurera arbetsmiljön för en infrastrukturarbetsyta. Om du vill göra dina bibliotek tillgängliga för användning i alla notebook-filer och Spark-jobbdefinitioner på arbetsytan kan du skapa miljön, installera biblioteken i den och sedan kan arbetsyteadministratören koppla miljön som standard för arbetsytan. När ett kodformateringstillägg installeras i arbetsytans standardmiljö kan därför alla notebook-filer på arbetsytan dra nytta av det.

Mer information om miljöer finns i skapa, konfigurera och använda en miljö i Microsoft Fabric.

Infogad installation

Använd den infogade installationsmetoden när du vill installera ett bibliotek för en specifik notebook-fil i stället för alla notebook-filer på en arbetsyta. Den här metoden är praktisk när du vill ha en tillfällig eller snabb lösning som inte ska påverka andra notebook-filer på arbetsytan.

Information om hur du utför en in-line-installation finns i Infogad installation.

I följande exempel används kommandot %pip för att installera den senaste versionen av Jupyter-black-tillägget på både drivrutins- och körnodnoderna.

# Install the latest version by using %pip command
# It will be available on both driver and executor nodes
%pip install jupyter-black

Aktivera kodformatering

När du har installerat kodformateringstillägget måste du aktivera kodformatering för notebook-filen. Det gör du genom att läsa in tillägget, vilket kan göras på ett av två sätt.

Använd antingen det %load_ext magiska kommandot.

# Load the jupyter-black extension
%load_ext jupyter_black

Du kan också använda belastningstillägget med hjälp av programmerings-API:et.

import jupyter_black
jupyter_black.load()

Dricks

För att säkerställa att alla notebook-filer aktiverar kodformatering, vilket kan vara användbart i företagsutvecklingsscenarier, aktiverar du formatering i en mallanteckningsbok.

Formatera kod

Om du vill formatera kod väljer du de kodrader som du vill formatera och trycker sedan på Skift+Retur.

Följande 11 rader kod har ännu inte formaterats korrekt.

def unique(list_input):
    list_set = set(list_input
    )
    unique_list = (list(
        list_set
        )
    )
    for x in unique_list:
        print(
            x
        )

När formateringen har tillämpats minskade tillägget skriptet till endast fem rader. Koden har nu god stil och konventioner.

def unique(list_input):
    list_set = set(list_input)
    unique_list = list(list_set)
    for x in unique_list:
        print(x)    

Mer information om Fabric-notebook-filer finns i följande artiklar.