Toimivan koodin kirjoittaminen ei aina riitä; sinun tulee yrittää kirjoittaa hyvin jäsenneltyä koodia, joka on myös helppo ymmärtää. Puhdas koodi tekee ohjelmistosi ylläpidosta helppoa sinulle ja muille.
Pythonissa on monia ominaisuuksia ja toimintoja, jotka voivat auttaa sinua kirjoittamaan puhtaampaa koodia. Tässä on joitain parhaista.
1. Automatisoi resurssien sulkeminen Context Managerilla
Resurssien sulkeminen käsin voi olla hankalaa, kun koodisi on vuorovaikutuksessa monien resurssien kanssa. Saatat unohtaa sulkea resurssin. Tämä saa ohjelman käyttämään järjestelmäresursseja tehottomasti, mikä voi johtaa a muistivuoto.
Tämä koodi avaa tiedoston ja sulkee sen sitten manuaalisesti:
file = open("testi.txt", 'r')
file_contents = tiedosto.read()
file.close()
sanat = file_contents.split(' ')
sanamäärä = len (sanat)
tulosta (sanojen_määrä)
Voit automatisoida tiedoston sulkemisen kontekstinhallinnan avulla. Kontekstinhallintaohjelmat käsittelevät resursseja puolestasi, joten sinun ei tarvitse muistaa hallita niitä manuaalisesti. Käytä
kanssa lauseke kontekstin luomiseksi resurssin hallintaa varten:kanssa avata("testi.txt", 'r') kuten tiedosto:
file_contents = tiedosto.read()
sanat = file_contents.split(' ')
sanamäärä = len (sanat)
tulosta (sanojen_määrä)
Tämän lohkon koodi suoritetaan sen tiedostoobjektin yhteydessä, joka avata palaa. Python sulkee tiedoston automaattisesti, kun koodi poistuu kontekstista, vaikka tapahtuisi poikkeus.
2. Puhtaampien ehdollisten lausuntojen kirjoittaminen
Saatat huomata kirjoittavasi paljon tarpeetonta koodia käsitellessäsi jos-muu -lauseita. Pythonissa on kolmiosaisia operaattoreita, jotka auttavat sinua kirjoittamaan kompaktimpia lausekkeita. Alla oleva koodilohko näyttää normaalin if-else-lauseen.
kunto = Totta
jos kunto:
x = 1
muu:
x = 0
tulosta (x)
Voit kirjoittaa tämän koodin uudelleen käyttämällä kolmiosaista operaattoria, jonka avulla voit kirjoittaa ehdon yhdelle koodiriville.
kunto = Totta
x = 1jos kunto muu0
tulosta (x)
On tärkeää huomata, että sinun tulee käyttää kolmiosaisia operaattoreita, kun toteutat yksinkertaista logiikkaa. Monimutkaisemmassa logiikassa ja sisäkkäisissä ehdollisissa lauseissa kolmiosainen operaattori voi olla vaikea ymmärtää.
3. Tavaroiden kirjaaminen Enumerate-toiminnolla
Python-luettelossa iteroitaessa voit käyttää nykyisen kohteen hakemistoa kahdella tavalla. Yksi tapa on käyttää perinteistä for-silmukkaa. Tämä toimii hyvin, mutta koodi ei ole niin puhdas kuin se voisi olla. Se edellyttää myös indeksin alustamista manuaalisesti.
autot = ["Bugatti", "Mercedes", "Toyota"]
indeksi = 0
varten auto sisään autot:
tulostaa (indeksi, auto)
indeksi += 1
Toinen tapa on käyttää Pythonin sisäänrakennettua enumerate-toimintoa. Näin pääset hakemistoon ja vastaavaan arvoon luettelossa silmukan aikana.
autot = ["Bugatti", "Mercedes", "Toyota"]
varten indeksi, auto sisään luetella (autot):
tulostaa (indeksi, auto)
Nyt sinun ei tarvitse seurata hakemistoa manuaalisesti.
4. Useiden luetteloiden kiertäminen zip-toiminnolla
Voit myös käyttää enumerate-toimintoa silmukan useiden luetteloiden yli kerralla. Hanki ensimmäisen luettelon indeksi ja käytä sitä muiden luetteloiden vastaavien arvojen käyttämiseen.
english_names = ['ruoka', 'vesi', 'auto']
espanjalaiset_nimet = ["alimento", "agua", 'auto']
varten indeksi, nimi sisään luetella (englanniksi_names):
espanja = espanjalaiset_nimet [hakemisto]
Tulosta (f' {nimi} espanjaksi on {Espanja}')
Tämä toimii hyvin, mutta sinun on kirjoitettava paljon tarpeetonta koodia, jos luetteloiden määrä kasvaa. Voit kirjoittaa puhtaamman koodin käyttämällä zip-toimintoa ja välittää luettelosi nimet sille.
english_names = ['ruoka', 'vesi', 'auto']
espanjalaiset_nimet = ["alimento", "agua", 'auto']
varten Englanti Espanja sisään zip (english_names, spanish_names):
Tulosta(f' {Englanti} espanjaksi on {Espanja}')
Sinun tulee jatkaa enumerate-toiminnon käyttöä kiertää yhden luettelon yli. Mutta jos selaat useita luetteloita yhdessä, harkitse zip-toiminnon käyttöä.
Kun syötät arkaluontoisia tietoja, syöte ei saa näkyä pelkkänä tekstinä näytöllä. Tavallinen tapa ottaa syöte Pythonissa on käyttää syöttötoimintoa:
käyttäjätunnus = input('Käyttäjänimi:')
salasana = input('Salasana: ')
Tulosta('Kirjautua sisään...')
Syöttötoiminto tekee salasanan kuitenkin näkyväksi pelkkänä tekstinä näytöllä kirjoittamisen aikana. Varmistaaksesi, että salasana ei näy näytöllä, käytä sen sijaan getpass-toimintoa:
alkaen getpass tuonti getpass
käyttäjätunnus = input('Käyttäjänimi:')
salasana = getpass('Salasana:')
Tulosta('Kirjautua sisään...')
Getpass-moduuli on osa Pythonin vakiokirjastoa, joten sinun ei tarvitse asentaa sitä.
6. Suurten numeroiden tekeminen luettavaksi alaviivan paikkamerkkien avulla
Kun käsittelet ohjelmassasi suuria lukuja, niitä voi olla erittäin vaikea lukea yhdellä silmäyksellä. Väärien numeroiden antaminen muuttujille johtaa vialliseen ohjelmaan ja tämän virheen havaitseminen voi olla erittäin vaikeaa.
numero1 = 10000000000
numero2 = 100000000
yhteensä = num1 + num2
tulostaa (yhteensä)
Voit kirjoittaa yllä olevan koodin uudelleen käyttämällä alaviivoja erottamaan tuhansia ryhmiä, mikä on yleinen tapa tehdä suurista numeroista luettavampia.
numero1 = 10_000_000_000
numero2 = 100_000_000
yhteensä = num1 + num2
Tulosta(f'{kaikki yhteensä:,}')
Tulostustoiminnon f-merkkijono erottaa tulosteen tuhansien erottimella.
7. Ohje-toiminnon käyttäminen saadaksesi lisätietoja moduulista
Ohjetoiminto on erittäin tärkeä Pythonissa. Se kertoo sinulle, kuinka asennettua moduulia käytetään. Käyttääksesi sitä, asenna moduuli, käynnistä Python-tulkki päätteessä ja osoita polkua, johon olet asentanut moduulin. Tuo moduuli ja välitä lopuksi moduulin nimi ohjetoiminnolle.
Selvittääksesi, mitä menetelmiä ja määritteitä voit käyttää, korvaa ohjetoiminto dir-funktiolla.
dir-funktio palauttaa menetelmät ja attribuutit, joita moduuli ei tue koko dokumentaatiota. Tämä on hyödyllistä, kun haluat nähdä, mitä moduuli tekee.
Puhtaamman Python-koodin kirjoittaminen
Python on hyvin monipuolinen kieli. Kuten minkä tahansa muun kielen kanssa, tulet paremmin kirjoittamaan puhtaampaa Python-koodia ajan myötä.
Pythonissa on monia sisäänrakennettuja moduuleja ja toimintoja. Joissakin tapauksissa voit kirjoittaa vaikeasti luettavaa koodia, koska sinulla ei ole tietoa tietyn toiminnon olemassaolosta. Varmistaaksesi, että olet paremmin perillä, sinun tulee lukea lisää artikkeleita paremman koodin kirjoittamisesta.