Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Werkende code schrijven is niet altijd genoeg; je moet proberen goed gestructureerde code te schrijven die ook gemakkelijk te begrijpen is. Schone code maakt het voor u en anderen gemakkelijk om uw software te onderhouden.

Python heeft veel kenmerken en functies die u kunnen helpen schonere code te schrijven. Hier zijn enkele van de beste.

1. Automatiseer het sluiten van bronnen met Context Manager

Handmatig bronnen sluiten kan onhandig zijn wanneer uw code interactie heeft met veel bronnen. U kunt vergeten een bron te sluiten. Hierdoor gebruikt uw programma systeembronnen inefficiënt, wat kan leiden tot een geheugenlek.

Deze code opent een bestand en sluit het vervolgens handmatig:

bestand = openen('test.txt', 'R')
file_contents = file.read()
bestand.close()
woorden = bestandsinhoud.split(' ')
word_count = len (woorden)
afdrukken (word_count)

U kunt het sluiten van het bestand automatiseren met behulp van een contextmanager. Contextmanagers behandelen bronnen voor u, zodat u niet hoeft te onthouden ze handmatig te beheren. Gebruik de

instagram viewer
met instructie om een ​​context te creëren om een ​​bron te beheren:

met open('test.txt', 'R') als bestand:
file_contents = file.read()
woorden = bestandsinhoud.split(' ')
word_count = len (woorden)
afdrukken (word_count)

De code in dit blok wordt uitgevoerd binnen de context van het bestandsobject dat open geeft terug. Python sluit dat bestand automatisch wanneer de code die context verlaat, zelfs als er een uitzondering optreedt.

2. Schonere voorwaardelijke verklaringen schrijven

Misschien merk je dat je veel onnodige code schrijft als je te maken hebt met if-else verklaringen. Python heeft ternaire operatoren waarmee u compactere instructies kunt schrijven. Het onderstaande codeblok toont een normaal if-else-statement.

voorwaarde = WAAR

als voorwaarde:
x= 1
anders:
x= 0

afdrukken (x)

U kunt deze code herschrijven met een ternaire operator waarmee u de voorwaarde in een enkele regel code kunt schrijven.

voorwaarde = WAAR
x= 1als voorwaarde anders0
afdrukken (x)

Het is belangrijk op te merken dat u ternaire operatoren moet gebruiken bij het implementeren van eenvoudige logica. In complexere logica en geneste voorwaardelijke uitspraken kan de ternaire operator moeilijk te begrijpen worden.

3. Items bijhouden met de functie Enumerate

Wanneer u een Python-lijst herhaalt, kunt u op twee manieren toegang krijgen tot de index van het huidige item. Een manier is om de traditionele for-lus te gebruiken. Dit werkt prima, maar de code is niet zo schoon als het zou kunnen zijn. Het vereist ook dat u de index handmatig initialiseert.

auto's = ['Bugatti', 'Mercedes', 'Toyota']
indexeren = 0

voor auto in auto's:
afdrukken (index, auto)
indexeren += 1

De andere manier is het gebruik van de ingebouwde opsommingsfunctie van Python. Hierdoor krijgt u toegang tot de index en de overeenkomstige waarde in de lijst tijdens het herhalen.

auto's = ['Bugatti', 'Mercedes', 'Toyota']

voor index, auto in opsommen (auto's):
afdrukken (index, auto)

U hoeft de index nu niet handmatig bij te houden.

4. Meerdere lijsten doorlopen met de Zip-functie

U kunt ook de opsommingsfunctie gebruiken om meerdere lijsten tegelijk te doorlopen. Download de index van de eerste lijst en gebruik deze om toegang te krijgen tot de overeenkomstige waarden in andere lijsten.

engelse_namen = ['voedsel', 'water', 'auto']
spaanse_namen = ['eten', 'water', 'auto']

voor index, naam in opsommen (english_names):
spaans = spaanse_namen [index]
afdrukken (F' {naam} in het spaans is {Spaans}')

Dit werkt prima, maar je zult veel onnodige code moeten schrijven als het aantal lijsten toeneemt. Om schonere code te schrijven, kunt u de zip-functie gebruiken en de namen van uw lijst eraan doorgeven.

engelse_namen = ['voedsel', 'water', 'auto']
spaanse_namen = ['eten', 'water', 'auto']

voor Engels Spaans in zip (Engelse_namen, Spaanse_namen):
afdrukken(F' {Engels} in het spaans is {Spaans}')

U moet de opsommingsfunctie blijven gebruiken om lus over een enkele lijst. Maar als u meerdere lijsten tegelijk doorloopt, overweeg dan om de zip-functie te gebruiken.

Bij het invoeren van gevoelige informatie mag de invoer niet als platte tekst zichtbaar zijn op het scherm. De gebruikelijke manier om invoer in Python te nemen, is door de invoerfunctie te gebruiken:

gebruikersnaam = invoer('Gebruikersnaam:')
wachtwoord = invoer('Wachtwoord: ')
afdrukken('Inloggen...')

De invoerfunctie maakt het wachtwoord tijdens het typen echter als platte tekst zichtbaar op het scherm. Om ervoor te zorgen dat het wachtwoord niet op het scherm wordt weergegeven, moet u in plaats daarvan de getpass-functie gebruiken:

van Krijg een pas importeren Krijg een pas
gebruikersnaam = invoer('Gebruikersnaam:')
wachtwoord = haalpas('Wachtwoord:')
afdrukken('Inloggen...')

De getpass-module maakt deel uit van de standaardbibliotheek van Python, dus u hoeft deze niet te installeren.

6. Grote getallen leesbaar maken met onderstrepingstekens

Als je te maken hebt met grote getallen in je programma, kunnen ze in één oogopslag erg moeilijk te lezen zijn. Het toekennen van onjuiste nummers aan variabelen leidt tot een foutief programma en het opsporen van deze fout kan erg moeilijk zijn.

aantal1 = 10000000000
aantal2 = 100000000
totaal = aantal1 + aantal2
afdrukken (totaal)

U kunt de bovenstaande code herschrijven met onderstrepingstekens om groepen van duizenden te scheiden, een gebruikelijke manier om grote getallen leesbaarder te maken.

aantal1 = 10_000_000_000
aantal2 = 100_000_000
totaal = aantal1 + aantal2
afdrukken(F'{totaal:,}')

De f-tekenreeks in de afdrukfunctie scheidt de uitvoer met behulp van het scheidingsteken voor duizendtallen.

7. De Help-functie gebruiken om meer te weten te komen over een module

De helpfunctie is erg belangrijk in Python. Het zal u laten weten hoe u een module die u hebt geïnstalleerd, moet gebruiken. Om het te gebruiken, installeert u de module, start u vervolgens de Python-interpreter in een terminal en wijst u naar het pad waarop u de module hebt geïnstalleerd. Importeer de module en geef tenslotte de naam van de module door aan de helpfunctie.

Om te ontdekken welke methoden en attributen je kunt gebruiken, vervang je de help-functie door de dir-functie.

De functie dir retourneert de methoden en attributen die de module ondersteunt, niet de hele documentatie. Dit is handig als u een glimp wilt opvangen van wat de module doet.

Schrijven van schonere Python-code

Python is een zeer diverse taal. Zoals met elke andere taal, zul je na verloop van tijd beter worden in het schrijven van schonere Python-code.

Python heeft veel ingebouwde modules en functies. In sommige gevallen kun je moeilijk leesbare code schrijven omdat je geen kennis hebt van het bestaan ​​van een bepaalde functie. Om ervoor te zorgen dat u beter geïnformeerd bent, zou u meer artikelen moeten lezen over hoe u betere code kunt schrijven.