Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

Pisanje radnog koda nije uvijek dovoljno; trebali biste pokušati napisati dobro strukturiran kod koji je također lako razumjeti. Čisti kôd olakšat će vama — i drugima — održavanje vašeg softvera.

Python ima mnogo značajki i funkcija koje vam mogu pomoći u pisanju čistijeg koda. Ovdje su neki od najboljih.

1. Automatizirajte zatvaranje resursa pomoću upravitelja konteksta

Ručno zatvaranje resursa može biti nezgodno kada je vaš kod u interakciji s mnogo resursa. Možda ste zaboravili zatvoriti resurs. Zbog toga vaš program neučinkovito koristi sistemske resurse što može dovesti do a curenje memorije.

Ovaj kôd otvara datoteku, a zatim je ručno zatvara:

datoteka = otvori('test.txt', 'r')
file_contents = file.read()
file.close()
riječi = file_contents.split(' ')
broj_riječi = len (riječi)
ispis (broj_riječi)

Možete automatizirati zatvaranje datoteke pomoću upravitelja konteksta. Upravitelji konteksta upravljaju resursima umjesto vas, tako da se ne morate sjetiti ručno upravljati njima. Koristiti

instagram viewer
s izjava za stvaranje konteksta za upravljanje resursom:

s otvoren('test.txt', 'r') kao datoteka:
file_contents = file.read()
riječi = file_contents.split(' ')
broj_riječi = len (riječi)
ispis (broj_riječi)

Kod u ovom bloku radi unutar konteksta datotečnog objekta koji otvoren vraća. Python automatski zatvara tu datoteku kada kod napusti taj kontekst, čak i ako se dogodi iznimka.

2. Pisanje čistijih uvjetnih naredbi

Mogli biste pronaći sebe kako pišete mnogo nepotrebnog koda kada se bavite if-else izjave. Python ima ternarne operatore koji će vam pomoći da napišete kompaktnije izjave. Blok koda ispod prikazuje normalnu if-else naredbu.

stanje = Pravi

ako stanje:
x = 1
drugo:
x = 0

ispis (x)

Ovaj kod možete prepisati pomoću ternarnog operatora koji vam omogućuje pisanje uvjeta u jednom retku koda.

stanje = Pravi
x = 1ako stanje drugo0
ispis (x)

Važno je napomenuti da biste trebali koristiti ternarne operatore kada implementirate jednostavnu logiku. U složenijoj logici i ugniježđenim uvjetnim izjavama, ternarni operator može postati teško razumljiv.

3. Praćenje stavki s funkcijom nabrajanja

Kada ponavljate Python popis, možete pristupiti indeksu trenutne stavke na dva načina. Jedan način je korištenje tradicionalne for petlje. Ovo dobro funkcionira, ali kôd nije čist koliko bi mogao biti. Također zahtijeva ručno inicijaliziranje indeksa.

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

za automobil u automobili:
ispis (indeks, auto)
indeks += 1

Drugi način je korištenje funkcije enumerate ugrađene u Python. To će vam omogućiti pristup indeksu i odgovarajućoj vrijednosti na popisu tijekom petlje.

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

za indeks, auto u nabrojati (automobile):
ispis (indeks, auto)

Sada ne morate ručno pratiti indeks.

4. Prelazak preko nekoliko popisa pomoću funkcije Zip

Također možete koristiti funkciju enumerate za prelazak preko nekoliko popisa odjednom. Dohvatite indeks prvog popisa, zatim ga upotrijebite za pristup odgovarajućim vrijednostima u drugim popisima.

engleska_imena = ['hrana', 'voda', 'automobil']
španjolska_imena = ['alimento', 'agua', 'auto']

za indeks, ime u nabrojati (engleska_imena):
španjolski = španjolska_imena [indeks]
ispisati (f' {Ime} na španjolskom je {španjolski}')

Ovo dobro funkcionira, ali ćete morati napisati puno nepotrebnog koda ako se broj popisa poveća. Za pisanje čistijeg koda možete upotrijebiti funkciju zip i proslijediti joj imena svog popisa.

engleska_imena = ['hrana', 'voda', 'automobil']
španjolska_imena = ['alimento', 'agua', 'auto']

za engleski, španjolski u zip (engleska_imena, španjolska_imena):
ispis(f' {Engleski} na španjolskom je {španjolski}')

Trebali biste nastaviti koristiti funkciju enumerate za petlja preko jedne liste. Ali ako zajedno prelazite preko nekoliko popisa, razmislite o upotrebi funkcije zip.

Prilikom unosa osjetljivih informacija, unos ne bi trebao biti vidljiv kao običan tekst na ekranu. Uobičajeni način unosa u Python je korištenje funkcije unosa:

korisničko ime = unos('Korisničko ime: ')
lozinka = unos('Lozinka: ')
ispis('Prijavljivanje...')

Međutim, funkcija unosa čini lozinku vidljivom kao običan tekst na zaslonu tijekom tipkanja. Kako biste bili sigurni da lozinka nije prikazana na zaslonu, trebali biste umjesto toga upotrijebiti funkciju getpass:

iz getpass uvoz getpass
korisničko ime = unos('Korisničko ime: ')
lozinka = getpass('Lozinka:')
ispis('Prijavljivanje...')

Modul getpass dio je Python standardne biblioteke, tako da ga ne morate instalirati.

6. Učinite velike brojeve čitljivim pomoću rezerviranih mjesta za podvlaku

Kada imate posla s velikim brojevima u svom programu, može ih biti vrlo teško pročitati na prvi pogled. Dodjeljivanje netočnih brojeva varijablama dovodi do neispravnog programa i uočavanje ove pogreške može biti vrlo teško.

num1 = 10000000000
broj2 = 100000000
ukupno = num1 + num2
ispis (ukupno)

Gornji kod možete prepisati koristeći podvlake za odvajanje skupina tisuća, što je uobičajeni način da velike brojeve učinite čitljivijim.

num1 = 10_000_000_000
broj2 = 100_000_000
ukupno = num1 + num2
ispis(f'{ukupno:,}')

Niz f u funkciji ispisa odvaja izlaz pomoću razdjelnika tisućica.

7. Korištenje funkcije pomoći da biste saznali više o modulu

Funkcija pomoći vrlo je važna u Pythonu. Obavijestit će vas kako koristiti modul koji ste instalirali. Da biste ga koristili, instalirajte modul, zatim pokrenite Python tumač u terminalu i pokažite na stazu na kojoj ste instalirali modul. Uvezite modul i na kraju proslijedite naziv modula funkciji pomoći.

Da biste otkrili koje metode i atribute možete koristiti, zamijenite funkciju pomoći funkcijom dir.

Funkcija dir vraća metode i atribute koje modul podržava, a ne cijelu dokumentaciju. Ovo je korisno kada želite vidjeti što modul radi.

Pisanje čišćeg Python koda

Python je vrlo raznolik jezik. Kao i s bilo kojim drugim jezikom, s vremenom ćete postati bolji u pisanju čišćeg Python koda.

Python ima mnogo ugrađenih modula i funkcija. U nekim slučajevima možete napisati kod koji je teško čitljiv jer nemate znanja o postojanju određene funkcije. Kako biste bili sigurni da ste bolje informirani, trebali biste pročitati više članaka o tome kako napisati bolji kod.