In dit bericht van programmeercursus Python gebruiken op Linux We zullen verder bespreken hoe we de werking van de code kunnen documenteren. Dit is een zeer nuttige oefening, aangezien ons geheugen niet altijd betrouwbaar is als het gaat om het terughalen van wat we schrijven. We zullen ook het onderwerp lussen introduceren.
Aan de andere kant, als we professioneel code schrijven of deel uitmaken van een open-source projectgemeenschap, is de kans groot dat anderen aanpassingen moeten maken, dus moeten ze weten waar ze aan toe zijn. Loops stellen ons in staat om programma's te blijven uitvoeren totdat aan een bepaalde voorwaarde is voldaan.
In het vorige artikel introduceerden we het concept van docstrings. Docstrings bieden ons toegang tot korte uitleg over de werking van bepaalde functies, klassen, methoden en modules. Zonder dat je de uitvoering van het programma hoeft te onderbreken en alle code hoeft door te lezen tot je een commentaar vindt. Maar voordat we verdergaan, laten we eerst een paar concepten herhalen.
- functie: Een herbruikbaar codeblok dat een specifieke taak uitvoert.
- klasse: Het is een mal waarmee we de objecten definiëren die we ervan maken.
- Methode: Het is een functie die bij een klasse hoort.
- Module: Het is een Python-programma dat vanuit een ander Python-programma kan worden uitgevoerd.
Klassen en functies hebben we in eerdere artikelen uitgelegd. Over modules zullen we later meer vertellen.
Docstrings
Docstrings zijn tekstreeksen qDeze worden aan het begin van een functie geplaatst en bevatten een korte beschrijving van wat de functie doet, welke parameters ze ontvangt en welke waarden ze retourneert.
Zoals we kunnen zien, staat tussen drie dubbele aanhalingstekens de tekst die uitlegt hoe de functie werkt en een voorbeeld geeft. Hieronder staat de code voor de vergelijking.
De redenen om docstrings te gebruiken zijn:
- Helderheid: Ze helpen de persoon die de code moet beoordelen om sneller te begrijpen wat elk onderdeel doet.
- Voorzieningen voor toegang: De documentatie is toegankelijk via de interactieve console.
- Naleving van normen: Het gebruik van docstrings om code te documenteren is een conventie die algemeen geaccepteerd is binnen de Python-gemeenschap.
- Update: PHet maakt het mogelijk om wijzigingen in de code eenvoudig te documenteren zonder nieuwe bestanden te hoeven genereren.
Aan het begin van deze cursus raden we aan om Visual Studio Code als geïntegreerde ontwikkelomgeving te gebruiken en enkele extra extensies te installeren. VS Code geeft automatisch de tekst uit de docstrings weer wanneer u de muiswijzer eroverheen beweegt. Andere manieren om dit te doen zijn:
- Vanuit de interactieve console: (De Linux-terminal van waaruit u de Python-applicatie uitvoert.)
- Uit dezelfde programmacode die we uitvoeren.
- Vanuit een ander programma dat de functie importeert.
Dit zijn voorbeelden met het commando. helpen()
Allereerst een verduidelijking. Vanwege een incompatibiliteit tussen de inspringingsvereisten van Python en het contentmanagementsysteem van de blog, kan ik geen erg lange codefragmenten rechtstreeks plakken. Pastebin, waar ik in eerdere artikelen de code plakte, heeft een limiet voor gratis gebruik, die ik al heb overschreden. Daarom gebruik ik screenshots. Hoe dan ook, het handmatig kopiëren van de code zal je helpen begrijpen hoe het werkt.
We kunnen docstrings rechtstreeks vanuit de terminal aanroepen waar we het programma uitvoeren dat we schrijven, met de volgende commando's:
from detectar_distro import obtener_info
help(obtener_info)
We hadden het vorige programma eerder moeten opslaan als detect_distro.py.
Uit de code van een ander programma
# archivo: consulta.py
from detectar_distro import obtener_info
help(obtener_info)
Het uitvoeren van repetitieve taken
Tot nu toe hebben we alleen programma's gezien die een taak uitvoeren en vervolgens stoppen. Maar, In de praktijk draaien applicaties continu totdat de gebruiker ze stopt. Een manier om dit te bereiken is door lussen te gebruiken; lussen voeren code uit zolang aan een bepaalde voorwaarde wordt voldaan.
De voorwaarde wordt ingesteld met het commando. en
Dit programma maakt de distributievariabele aan en stelt deze in met de while-lus totdat de gebruiker iets invoert. Ubuntu Er wordt hem nog steeds gevraagd om de naam van een distributie op te schrijven.
While-lussen zijn erg handig wanneer we niet kunnen specificeren hoe vaak de code moet worden uitgevoerd om het gewenste resultaat te verkrijgen. Als we bijvoorbeeld een enkele worp met een dobbelsteen willen simuleren en het resultaat er niet toe doet, hebben we geen while-lus nodig.
Enkele nuttige toepassingsvoorbeelden zijn:
- Vraag de gebruiker om gegevens in te voeren totdat de ingevoerde gegevens correct zijn.
- Voer de berekeningen uit totdat het verwachte resultaat is bereikt. (Bijvoorbeeld, toen je op school de oplossing van een probleem wel wist, maar niet hoe je daar moest komen.)
- Verwerk de gegevens in een lijst totdat je het einde bereikt.
Een manier om de while-lus te gebruiken is door een teller in te stellen met het aantal pogingen.
Het programma werkt als volgt:
- Er wordt een variabele aangemaakt voor het aantal pogingen en ingesteld op 0, een andere variabele stelt het aantal pogingen in op maximaal 5, en er wordt een variabele aangemaakt om de invoer van de gebruiker op te slaan.
- Aan de while-lus worden twee voorwaarden toegekend: dat de gebruiker niet correct heeft geraden en dat het aantal pogingen nog niet is opgebruikt.
- Telkens wanneer de gebruiker een poging doet, wordt de teller verhoogd.
- De gebruiker krijgt het pogingsnummer te zien.
- Als aan een van beide voorwaarden is voldaan, wordt bepaald of de gebruiker heeft gewonnen of verloren.
Pauzeer en ga verder
Naast het al dan niet voldoen aan de voorwaarde zijn er twee regels die van invloed zijn op de werking van een lus:
- Breken: Het stopt de uitvoering van de lus, zelfs als niet aan de voorwaarden is voldaan, en springt naar de eerste regel code buiten de lus. Dit kan bijvoorbeeld handig zijn als de gebruiker het programma wil afsluiten.
- Doorgaan met: Het stopt niet de hele lus; in plaats daarvan slaat het de huidige poging over en gaat verder met de volgende. In ons programma dat bijvoorbeeld naar Linux-distributies vraagt, zou het, als de gebruiker "Windows" typt, kunnen vragen om de naam van een distributie opnieuw in te voeren zonder de controle uit te voeren.
In het volgende artikel zullen we dit onderwerp verder uitwerken.