Hvordan lage dine egne funksjoner i Python på Raspberry Pi

August 21  by Eliza

En av de tingene det Raspberry Pi tillater deg å gjøre i Python, og mange andre programmeringsspråk, er å lage en funksjon. En funksjon kan motta litt informasjon fra resten av programmet (ett eller flere argumenter), arbeid på den, og deretter sende tilbake et resultat.

Før du kan bruke en funksjon, må du definere det, som du gjør med en def uttalelse. Å fortelle Python som instruksjoner hører hjemme i funksjon, du rykke dem under def uttalelse. Her er et eksempel program for å gjøre deg kjent med ideen om funksjoner, og hvordan vi skal bruke det:

# Eksempel på funksjoner
def dictionarycheck (melding):
print "jeg vil se i ordlisten for", melding
return "hallo"
dictionarycheck ("testmelding")
Resultat = dictionarycheck ("test Message2")
print "Svar er:", resultere

Vi vil snakke deg gjennom det programmet i et øyeblikk, men her er et glimt av det som vises på skjermen når du kjører den:

Jeg vil se i ordlisten for testmelding
Jeg vil se i ordlisten for test Message2
Svar er: hallo

Dette er en kort, men kraftig program fordi den forteller deg nesten alt du trenger å vite om funksjoner. Som du kan se, ble funksjonen definert ved +

start av programmet, med denne linjen:

def dictionarycheck (melding):

Dette setter opp en funksjon med navnet dictionarycheck (), men også setter den opp for å få en bit av informasjon fra resten av programmet og for å sette det inn i variabelen vi har kalt meldingen.

Den neste linjen skriver ut en uttalelse som sier "jeg vil se i ordlisten for" etterfulgt av innholdet i variabelen meldingen. Det betyr at det skrives ut hva informasjonen er sendt til funksjonen. Den neste linjen starter med retur avslutter funksjonen og sender en melding tilbake, som i vårt eksempel er hei.

Funksjoner er selvstendige enheter, slik variabelen meldingen ikke kan brukes av resten av programmet (det er det som kalles en lokal variabel). Når du skriver dine egne funksjoner, bør du gi dem en jobb å gjøre, og deretter bruke avkastningen til å sende resultatet tilbake til resten av programmet.

Funksjonene er ikke før du spesifikt fortelle programmet til å kjøre dem, så når Python ser funksjonsdefinisjonen, det bare husker det for når det er behov for det senere. Den tiden kommer kort tid etterpå, når du kjøre kommandoen:

dictionarycheck ("testmelding")

Dette går vår dictionarycheck () -funksjonen, og sender den teksten "testmelding" å jobbe med. Når funksjonen starter, Python setter "testmelding" inn funksjonens variabel kalt melding, og skriver deretter teksten på skjermen som inneholder det. Teksten "hallo" sendes tilbake av funksjon, men du trenger ikke en måte å plukke opp den meldingen.

Neste kodebiten viser deg hvordan du kan plukke opp informasjon som kommer tilbake fra en funksjon. I stedet for bare å kjøre funksjonen, setter du en variabel til å være lik sin produksjon, som dette:

Resultat = dictionarycheck ("test Message2")
print "Svar er:", resultere

Når teksten "hallo" sendes tilbake av funksjon, går det inn i variabelen resultat, og hovedprogrammet kan deretter skrive den ut på skjermen.

Dette enkle eksemplet illustrerer noen grunner til at funksjonene er en glimrende idé, og er blitt grunnleggende byggesteiner i mange programmeringsspråk:

  • Funksjonene gjør det mulig å gjenbruke deler av programmet. For eksempel har vi brukt vår funksjon for å vise to forskjellige meldinger her, bare ved å sende den funksjon et annet argument hver gang. Når du bruker mer avanserte programmer, være i stand til å gjenbruke deler av programmet gjør programmet kortere, enklere og raskere å skrive.
  • Funksjonene gjør forstå programmet enklere fordi de gir et navn og en struktur til et sett med instruksjoner. Når noen ser dictionarycheck () i vårt program, kan de gjøre en god gjetning på hva som skjer. Mens du arbeider på større prosjekter, vil du finne lesbarhet blir stadig viktigere.
  • Det gjør det enklere å vedlikeholde og oppdatere programmet. Du kan enkelt finne hvilke deler av programmet til å endre seg, og alle endringene du trenger å gjøre vil være i samme del av programmet. Hvis du tenker på en bedre måte å gjøre en ordbok look-up senere, du bare endre funksjon, uten å forstyrre resten av programmet.
  • Funksjoner gjør prototyping enklere. Det er det vi har gjort her: Vi har bygget et eksperimentelt program som tar litt tekst og sender tilbake en melding. Det er hva våre ferdige dictionarycheck () -funksjonen vil gjøre, bortsett fra at dette bare sender den samme meldingen tilbake hver gang og det ferdige man vil sende ulike meldinger tilbake, avhengig av hva spilleren sa.

    Du kan bygge resten av programmet rundt denne prototypen for å sjekke det fungerer, og deretter gå tilbake og fullføre dictionarycheck () -funksjonen.