Python-programmeringskurs med Linux. Del elva.

Python-programmeringskurs med Linux


I det här inlägget från programmeringskurs i Python med Linux Vi fortsätter att prata om hur man dokumenterar vad koden gör. Detta är en mycket användbar övning eftersom vårt minne inte alltid är tillförlitligt när det gäller att komma ihåg vad vi skriver. Vi kommer också att introducera ämnet loopar.

Å andra sidan, om vi skriver kod professionellt eller är en del av en öppen källkods-projektgemenskap, är det troligt att andra personer kommer att behöva göra ändringar, så de behöver veta var de står. Loopar låter oss fortsätta köra program tills ett villkor är uppfyllt.

I den föregående artikeln introducerade vi konceptet docstrings. Docsträngar låter oss få tillgång till korta förklaringar om vad vissa funktioner, klasser, metoder och moduler gör. utan att behöva stoppa programmets körning och läsa all kod tills du hittar en kommentar. Men innan vi fortsätter, låt oss gå igenom några koncept.

  • funktion: Återanvändbart kodblock som utför en specifik uppgift.
  • klass: Det är en gjutform för att definiera de objekt vi skapar utifrån den.
  • Metod: Det är en funktion som tillhör en klass.
  • Modul: Det är ett Python-program som kan köras i ett annat Python-program.

Klass och funktion är saker vi förklarade i tidigare artiklar. Vi kommer att prata om moduler senare.

Dokument

Dokumentsträngar är textsträngar qDessa placeras i början av en funktion och innehåller en kort beskrivning av vad funktionen gör, vilka parametrar den tar emot och vilka värden den returnerar.

Exempel på användning av docstings i Python

Det här exemplet illustrerar användningen av docstrings för att förklara vad funktionen som jämför en lista över Linuxdistributioner med en given gör.

Som vi kan se, inom tre dubbla citattecken, finns texten som förklarar hur funktionen fungerar och ger ett exempel. Nedan följer koden för jämförelsen.

Anledningarna till att använda docstrings är:

  • klarhet: De hjälper personen som måste granska koden att snabbare förstå vad varje sak gör.
  • Enkel åtkomst: Dokumentationen kan nås från den interaktiva konsolen.
  • Överensstämmelse med standarder: Användningen av docstrings för att dokumentera kod är en konvention som är allmänt accepterad av Python-communityn.
  • Uppdatering: PDet låter dig enkelt dokumentera ändringar i koden utan att behöva generera nya filer.

I början av den här kursen rekommenderar vi att du använder Visual Studio Code som din integrerade utvecklingsmiljö och installerar några ytterligare tillägg. VS Code visar automatiskt texten från dokumentsträngarna när du håller muspekaren över den. Andra sätt att göra detta inkluderar:

  • Från den interaktiva konsolen: (Linux-terminalen från vilken du kör Python-applikationen.
  • Från samma programkod som vi kör.
  • Från ett annat program som importerar funktionen.

Detta är exempel med kommandot hjälp()

Använda hjälp i koden

Med hjälp av kommandot help kan vi se innehållet i docstrings medan programmet körs.

Först och främst ett förtydligande. På grund av en inkompatibilitet mellan Pythons indragningskrav och bloggens innehållshanteringssystem kan jag inte klistra in särskilt långa kodavsnitt direkt. Pastebin, där jag har klistrat in koden i tidigare artiklar, har en gräns för fri användning, som jag redan har överskridit. Det är därför jag använder skärmdumpar. Hur som helst, att kopiera koden för hand kommer att hjälpa dig att förstå hur det fungerar.

Vi kan anropa docstrings direkt från terminalen där vi kör programmet vi skriver med följande kommandon:

from detectar_distro import obtener_info

help(obtener_info)

Vi borde ha sparat det föregående programmet som detect_distro.py

Från koden för ett annat program

# archivo: consulta.py
from detectar_distro import obtener_info

help(obtener_info)

Utföra repetitiva uppgifter

Hittills har vi bara sett program som utför en uppgift och sedan stannar. Men, I den verkliga världen körs applikationer kontinuerligt tills användaren stoppar dem. Ett sätt att uppnå detta är att använda loopar; loopar exekverar kod så länge ett visst villkor är uppfyllt.

Villkoret sätts med kommandot medan

Använda `eld`-kommandot i Python 3

while-kommandot utvärderar om ett villkor är uppfyllt och om det är det körs resten av koden.

Detta program skapar distributionsvariabeln och ställer in den med while-kommandot tills användaren anger ubuntu Han blir fortfarande ombedd att skriva namnet på en distribution.

Även om loopar är mycket användbara när vi inte kan ange hur många gånger koden ska köras för att uppnå önskat resultat. Om vi ​​till exempel vill simulera ett enda tärningskast och resultatet inte spelar någon roll, skulle vi inte behöva en while-loop.

Några användbara användningsfall är:

  • Be användaren att ange data tills de angivna uppgifterna är korrekta.
  • Utför beräkningar tills det förväntade resultatet uppnås. (Till exempel, när du i skolan visste lösningen på ett problem men inte hur du skulle komma dit)
  • Bearbeta data i en lista tills du når slutet.

Ett sätt att använda while-slingan är att ställa in en räknare med ett antal försök.

Använda while för att räkna försök i Python 3

I det här fallet anger while-slingan ett maximalt antal försök.

Programmet fungerar enligt följande:

  • En variabel skapas för försök och sätts till 0, en annan sätter antalet försök till maximalt 5, och en variabel skapas för att lagra användarens indata.
  • While-slingan tilldelas två villkor: att användaren inte har gissat rätt och att de inte har uttömt antalet försök.
  • Varje gång användaren gör ett försök ökas räknaren.
  • Användaren visas försöksnumret.
  • När något av de två villkoren är uppfyllt avgörs det om användaren vann eller förlorade.

Pausa och fortsätt

Det finns två regler som påverkar en loops funktion utöver huruvida villkoret är uppfyllt eller inte:

  • Ha sönder: Den stoppar loopens exekvering även om villkoren inte är uppfyllda och hoppar till den första kodraden utanför loopen. Detta kan vara användbart om användaren till exempel vill avsluta programmet.
  • Fortsätta: Den stoppar inte hela loopen; istället hoppar den över det aktuella försöket och går vidare till nästa. Till exempel, i vårt program som frågar efter Linux-distributioner, om användaren skulle skriva "Windows", skulle det kunna be dem att ange namnet på en distribution igen utan att utföra kontrollen.

I nästa artikel kommer vi att fortsätta utveckla detta ämne.