Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

At skrive arbejdskode er ikke altid nok; du bør prøve at skrive velstruktureret kode, der også er let at forstå. Ren kode vil gøre det nemt for dig – og andre – at vedligeholde din software.

Python har mange funktioner og funktioner, der kan hjælpe dig med at skrive renere kode. Her er nogle af de bedste.

1. Automatiser ressourcelukning med Context Manager

Manuel lukning af ressourcer kan være ubelejligt, når din kode interagerer med mange ressourcer. Du glemmer måske at lukke en ressource. Dette får dit program til at bruge systemressourcer ineffektivt, hvilket kan føre til en hukommelsestab.

Denne kode åbner en fil og lukker den derefter manuelt:

fil = åben('test.txt', 'r')
file_contents = file.read()
file.close()
words = file_contents.split(' ')
word_count = len (ord)
print (ord_antal)

Du kan automatisere lukningen af ​​filen ved hjælp af en konteksthåndtering. Kontekstadministratorer håndterer ressourcer for dig, så du ikke skal huske at administrere dem manuelt. Brug

instagram viewer
med erklæring for at skabe en kontekst til at administrere en ressource:

med åben('test.txt', 'r') som fil:
file_contents = file.read()
words = file_contents.split(' ')
word_count = len (ord)
print (ord_antal)

Koden i denne blok kører inden for konteksten af ​​filobjektet, der åben vender tilbage. Python lukker automatisk den fil, når koden forlader denne kontekst, selvom der opstår en undtagelse.

2. At skrive renere betingede erklæringer

Du kan finde på at skrive en masse unødvendig kode, når du beskæftiger dig med if-else udsagn. Python har ternære operatorer, der vil hjælpe dig med at skrive mere kompakte udsagn. Kodeblokken nedenfor viser en normal if-else-sætning.

tilstand = Rigtigt

hvis tilstand:
x = 1
andet:
x = 0

print (x)

Du kan omskrive denne kode ved hjælp af en ternær operator, der lader dig skrive betingelsen i en enkelt kodelinje.

tilstand = Rigtigt
x = 1hvis tilstand andet0
print (x)

Det er vigtigt at bemærke, at du bør bruge ternære operatorer, når du implementerer simpel logik. I mere kompleks logik og indlejrede betingede udsagn kan den ternære operator blive svær at forstå.

3. Hold styr på varer med funktionen Enumerate

Når du itererer over en Python-liste, kan du få adgang til indekset for det aktuelle element på to måder. En måde er at bruge den traditionelle for loop. Dette fungerer fint, men koden er ikke så ren, som den kunne være. Det kræver også, at du initialiserer indekset manuelt.

biler = ['Bugatti', 'Mercedes', 'Toyota']
indeks = 0

til bil i biler:
print (indeks, bil)
indeks += 1

Den anden måde er at bruge Pythons indbyggede enumerate-funktion. Dette vil give dig adgang til indekset og den tilsvarende værdi på listen under looping.

biler = ['Bugatti', 'Mercedes', 'Toyota']

til indeks, bil i opregne (biler):
print (indeks, bil)

Du behøver nu ikke holde styr på indekset manuelt.

4. Sløjfe over flere lister med zip-funktionen

Du kan også bruge enumerate-funktionen til at gå over flere lister på én gang. Hent indekset for den første liste, og brug det derefter til at få adgang til de tilsvarende værdier i andre lister.

engelske_navne = ['mad', 'vand', 'bil']
spanske_navne = ['alimento', 'agua', 'auto']

til indeks, navn i enumerate (engelske_navne):
spansk = spanske_navne [indeks]
Print (f' {navn} på spansk er {spansk}')

Dette fungerer fint, men du bliver nødt til at skrive en masse unødvendig kode, hvis antallet af lister stiger. For at skrive renere kode kan du bruge zip-funktionen og videregive navnene på din liste til den.

engelske_navne = ['mad', 'vand', 'bil']
spanske_navne = ['alimento', 'agua', 'auto']

til engelsk, spansk i zip (engelske_navne, spanske_navne):
Print(f' {engelsk} på spansk er {spansk}')

Du bør blive ved med at bruge tællefunktionen til sløjfe over en enkelt liste. Men hvis du går over flere lister sammen, kan du overveje at bruge zip-funktionen.

Når du indtaster følsomme oplysninger, bør inputtet ikke være synligt som almindelig tekst på skærmen. Den sædvanlige måde at tage input i Python på er at bruge inputfunktionen:

brugernavn = input('Brugernavn:')
adgangskode = input('Adgangskode: ')
Print('Logger ind...')

Indtastningsfunktionen gør dog adgangskoden synlig som almindelig tekst på skærmen under indtastning. For at sikre, at adgangskoden ikke vises på skærmen, skal du bruge getpass-funktionen i stedet:

fra getpass importere getpass
brugernavn = input('Brugernavn:')
password = getpass('Adgangskode:')
Print('Logger ind...')

Getpass-modulet er en del af Pythons standardbibliotek, så du behøver ikke at installere det.

6. Gør store tal læsbare ved hjælp af understregningspladsholdere

Når du har at gøre med store tal i dit program, kan de være meget svære at læse med et øjeblik. At tildele forkerte tal til variabler fører til et defekt program, og det kan være meget svært at opdage denne fejl.

nummer1 = 10000000000
nummer2 = 100000000
total = num1 + num2
print (i alt)

Du kan omskrive ovenstående kode ved hjælp af understregninger for at adskille grupper af tusinder, en almindelig måde at gøre store tal mere læsbare.

nummer1 = 10_000_000_000
nummer2 = 100_000_000
total = num1 + num2
Print(f'{Total:,}')

F-strengen i printfunktionen adskiller outputtet ved hjælp af tusindvis-separatoren.

7. Brug af hjælpefunktionen til at lære mere om et modul

Hjælpefunktionen er meget vigtig i Python. Det vil fortælle dig, hvordan du bruger et modul, du har installeret. For at bruge det skal du installere modulet, derefter starte Python-fortolkeren i en terminal og pege på stien, du har installeret modulet. Importer modulet og send endelig modulets navn til hjælpefunktionen.

For at finde ud af, hvilke metoder og attributter du kan bruge, skal du erstatte hjælpefunktionen med dir-funktionen.

Dir-funktionen returnerer metoderne og attributterne, modulet understøtter ikke hele dokumentationen. Dette er nyttigt, når du vil have et glimt af, hvad modulet gør.

Skriver renere Python-kode

Python er et meget forskelligartet sprog. Som med ethvert andet sprog bliver du bedre til at skrive renere Python-kode med tiden.

Python har mange indbyggede moduler og funktioner. I nogle tilfælde kan du skrive svær at læse kode, fordi du mangler viden om eksistensen af ​​en bestemt funktion. For at sikre dig, at du er mere informeret, bør du læse flere artikler om, hvordan du skriver bedre kode.