Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

Dette eksemplet bygger videre på rpncalc1 og viser hvordan en kan bruke funksjoner for å gjøre et program ryddigere.

...

Definisjon og bruk av funksjoner

Funksjoner kan ses på som en innkapsling av programkode, med flere viktige fordeler:

...

Ta koden fra rpncalc1.py for sjekke om en tekst er en operand (og ikke en operator) som eksempel: token[0].isdigit(). Det er ikke opplagt hva hensikten er, men ved f.eks. å kalle koden isOperand, så gjøres dette tydeligere. Koden blir som følger:

Code Block
languagepython
def isOperand(token):
    return token[0].isdigit()

Definisjon av isOperand: Den tar inn en tekst (string) og returnerer en logisk verdi (boolean, altså True eller False).

 

Code Block
languagepython

...
while (True):
    ...
    token = raw_input(" > ")
    if isOperand(token):
        operand = float(token)
	...
.... 

Øverst defineres isOperand-funksjonen: Den tar inn en tekst (string) og returnerer en logisk verdi (boolean, altså True eller False).

Lenger ned brukes Bruk av isOperand: token overføres som argument returverdien brukes direkte som betingelsen i if-setningen.

 

 

Dersom en senere finner en bedre måte å gjøre det på, så er det bare å bytte ut funksjonskoden, uten at koden som kaller funksjonen må endres. 

...