Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

Pisanje delujoče kode ni vedno dovolj; poskusite napisati dobro strukturirano kodo, ki je lahko tudi razumljiva. Čista koda bo vam in drugim olajšala vzdrževanje vaše programske opreme.

Python ima veliko funkcij in funkcij, ki vam lahko pomagajo pri pisanju čistejše kode. Tukaj je nekaj najboljših.

1. Avtomatizirajte zapiranje virov z upraviteljem konteksta

Ročno zapiranje virov je lahko neprijetno, če vaša koda komunicira z veliko viri. Morda boste pozabili zapreti vir. Zaradi tega vaš program neučinkovito uporablja sistemske vire, kar lahko povzroči a puščanje pomnilnika.

Ta koda odpre datoteko in jo nato ročno zapre:

datoteka = odpri('test.txt', 'r')
file_contents = file.read()
file.close()
besede = file_contents.split(' ')
word_count = len (besede)
natisni (število_besed)

Zapiranje datoteke lahko avtomatizirate z upraviteljem konteksta. Upravljalniki konteksta upravljajo z viri namesto vas, zato se vam ni treba spomniti, da bi jih upravljali ročno. Uporabi

instagram viewer
z stavek za ustvarjanje konteksta za upravljanje vira:

z odprto('test.txt', 'r') kot mapa:
file_contents = file.read()
besede = file_contents.split(' ')
word_count = len (besede)
natisni (število_besed)

Koda v tem bloku se izvaja v kontekstu datotečnega predmeta, ki odprto vrača. Python samodejno zapre to datoteko, ko koda zapusti ta kontekst, tudi če pride do izjeme.

2. Pisanje čistejših pogojnih stavkov

Morda se vam zdi, da pišete veliko nepotrebne kode, ko se ukvarjate z izjave if-else. Python ima ternarne operatorje, ki vam bodo pomagali napisati bolj strnjene izjave. Spodnji blok kode prikazuje običajni stavek if-else.

stanje = Prav

če stanje:
x = 1
drugače:
x = 0

natisni (x)

To kodo lahko prepišete z uporabo ternarnega operatorja, ki vam omogoča, da pogoj napišete v eno vrstico kode.

stanje = Prav
x = 1če stanje drugače0
natisni (x)

Pomembno je opozoriti, da morate pri izvajanju preproste logike uporabljati ternarne operaterje. V bolj zapleteni logiki in ugnezdenih pogojnih stavkih lahko ternarni operator postane težko razumljiv.

3. Sledenje elementom s funkcijo Enumerate

Pri ponavljanju po seznamu Python lahko do indeksa trenutnega elementa dostopate na dva načina. Eden od načinov je uporaba tradicionalne zanke for. To deluje dobro, vendar koda ni tako čista, kot bi lahko bila. Prav tako zahteva, da ročno inicializirate indeks.

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

za avto v avtomobili:
tisk (indeks, avto)
indeks += 1

Drugi način je uporaba funkcije enumerate, vgrajene v Python. To vam bo omogočilo dostop do indeksa in ustrezne vrednosti na seznamu med zanko.

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

za indeks, avto v naštej (avtomobili):
tisk (indeks, avto)

Zdaj vam indeksa ni treba spremljati ročno.

4. Prekrivanje več seznamov s funkcijo Zip

Uporabite lahko tudi funkcijo enumerate za zanko čez več seznamov hkrati. Pridobite indeks prvega seznama in ga nato uporabite za dostop do ustreznih vrednosti na drugih seznamih.

angleška_imena = ['hrana', 'voda', 'avto']
španska_imena = ['alimento', 'agua', 'avto']

za indeks, ime v naštej (angleška_imena):
špansko = španska_imena [indeks]
tiskanje (f' {name} v španščini je {španski}')

To deluje dobro, vendar boste morali napisati veliko nepotrebne kode, če se število seznamov poveča. Za pisanje čistejše kode lahko uporabite funkcijo zip in ji posredujete imena svojega seznama.

angleška_imena = ['hrana', 'voda', 'avto']
španska_imena = ['alimento', 'agua', 'avto']

za angleščina, španščina v zip (angleška_imena, španska_imena):
natisni(f' {angleščina} v španščini je {španski}')

Še naprej bi morali uporabljati funkcijo enumerate zanko čez en sam seznam. Če pa se premikate po več seznamih skupaj, razmislite o uporabi funkcije zip.

Ko vnašate občutljive informacije, vnos ne sme biti viden kot golo besedilo na zaslonu. Običajen način vnosa v Python je uporaba funkcije vnosa:

uporabniško ime = vnos('Uporabniško ime:')
geslo = vnos('Geslo:')
natisni('Prijavljanje...')

Vendar funkcija vnosa omogoča, da je geslo med tipkanjem vidno kot golo besedilo na zaslonu. Če želite zagotoviti, da geslo ni prikazano na zaslonu, namesto tega uporabite funkcijo getpass:

od getpass uvoz getpass
uporabniško ime = vnos('Uporabniško ime:')
geslo = getpass('Geslo:')
natisni('Prijavljanje...')

Modul getpass je del standardne knjižnice Python, zato vam ga ni treba namestiti.

6. Omogočanje branja velikih številk z uporabo podčrtajev

Ko imate v svojem programu opravka z velikimi številkami, jih je lahko zelo težko prebrati na prvi pogled. Dodeljevanje napačnih številk spremenljivkam vodi do napačnega programa in opaziti to napako je lahko zelo težko.

num1 = 10000000000
num2 = 100000000
skupaj = num1 + num2
natisni (skupaj)

Zgornjo kodo lahko prepišete s podčrtaji, da ločite skupine tisočic, kar je običajen način, da naredite velika števila bolj berljiva.

num1 = 10_000_000_000
num2 = 100_000_000
skupaj = num1 + num2
natisni(f'{skupaj:,}')

Niz f v funkciji tiskanja loči izpis z ločilom tisočic.

7. Uporaba funkcije pomoči za več informacij o modulu

Funkcija pomoči je v Pythonu zelo pomembna. Povedal vam bo, kako uporabljati modul, ki ste ga namestili. Če ga želite uporabiti, namestite modul, nato zaženite tolmač Python v terminalu in pokažite na pot, po kateri ste namestili modul. Uvozite modul in končno posredujte ime modula funkciji pomoči.

Če želite ugotoviti, katere metode in atribute lahko uporabite, zamenjajte funkcijo pomoči s funkcijo dir.

Funkcija dir vrne metode in atribute, ki jih podpira modul, ne celotne dokumentacije. To je uporabno, če želite imeti vpogled v to, kaj modul počne.

Pisanje čistejše kode Python

Python je zelo raznolik jezik. Kot pri vsakem drugem jeziku boste sčasoma postali boljši pri pisanju čistejše kode Python.

Python ima veliko vgrajenih modulov in funkcij. V nekaterih primerih lahko napišete težko berljivo kodo, ker nimate znanja o obstoju določene funkcije. Če želite biti bolj obveščeni, preberite več člankov o tem, kako napisati boljšo kodo.