Python 07 - 5.1 tmt 5.4 - functies, argument, parameter, bijzondere functies

                      Python
1 / 34
volgende
Slide 1: Tekstslide
InformaticaWOStudiejaar 4,5

In deze les zitten 34 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 45 min

Onderdelen in deze les

                      Python

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Fundament
Kerndomein D

D. Python
Hoofdstuk 5.1 tmt 5.4
https://fundament-online.nl/leeromgeving/content.php?id=49107



Slide 2 - Tekstslide

Deze slide heeft geen instructies

Leerdoelen:
Na deze les kun je:
  • het aantal iteraties berekenen for-loop en while-loop
  • uitleggen wat een user-defined functie is
  • in je eigen woorden vertellen wat een argument is
  • aangeven wat een parameter is
  • de relatie tussen parameter en argument uitleggen
  • een simpele foutmelding lezen en uitleggen






Slide 3 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
for-loop
De structuur van een for-loop is als volgt:


  • range(3)    > deze begint bij 0 en eindigt voor 3   = it: 3
  • range(1,5) > deze begint bij 1 en eindigt voor 5   = it: 4
  • range(2,4) > deze begint bij 2 en eindigt voor 4   = it: 2
  • range(9)    > deze begint bij 0 en eindigt voor 9   = it: 9




Slide 4 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Wat wordt hier als laatste afgedrukt? (10s)

for i in range(1):
print(i)

A
0
B
1
C
2
D
fout/geen van deze

Slide 5 - Quizvraag

Deze slide heeft geen instructies

Wat wordt hier als laatste afgedrukt? (10s)

for i in range(3):
print(i)

A
0
B
1
C
2
D
fout/geen van deze

Slide 6 - Quizvraag

Deze slide heeft geen instructies

Wat wordt hier als laatste afgedrukt? (10s)

for i in range(10):
print(i)
A
7
B
8
C
9
D
fout/geen van deze

Slide 7 - Quizvraag

Deze slide heeft geen instructies

Wat wordt hier als laatste afgedrukt? (10s)

for i in range(1,1):
print(i)

A
0
B
1
C
2
D
fout/geen van deze

Slide 8 - Quizvraag

Deze slide heeft geen instructies

Wat wordt hier als laatste afgedrukt? (10s)

for i in range(1,10):
print(i)
A
7
B
8
C
9
D
fout/geen van deze

Slide 9 - Quizvraag

Deze slide heeft geen instructies

Wat wordt hier als laatste afgedrukt? (10s)

for i in range(1,10)
print(i)
A
7
B
8
C
9
D
fout/geen van deze

Slide 10 - Quizvraag

Deze slide heeft geen instructies

Hoeveel iteraties heeft deze code? (10s)

for i in range(1,9):
print(i)
A
7
B
8
C
9
D
fout/geen van deze

Slide 11 - Quizvraag

Deze slide heeft geen instructies

Hoeveel iteraties heeft deze code? (10s)

for i in range(1,1338):
print(i)
A
0
B
1337
C
1338
D
fout/geen van deze

Slide 12 - Quizvraag

Deze slide heeft geen instructies

while-loop
Een while loop heeft een vergelijking/voorwaarde die de hoeveelheid iteraties bepaalt (zolang true)

Dit is de structuur van een while-loop:




Slide 13 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Hoeveel iteraties heeft deze code? (10s)


A
9
B
10
C
11
D
fout/geen van deze

Slide 14 - Quizvraag

Deze slide heeft geen instructies

Hoeveel iteraties heeft deze code? (10s)


A
9
B
10
C
11
D
fout/geen van deze

Slide 15 - Quizvraag

Deze slide heeft geen instructies

Hoeveel iteraties heeft deze code? (20s)


A
0
B
1
C
10
D
fout/geen van deze

Slide 16 - Quizvraag

Deze slide heeft geen instructies

Hoeveel iteraties heeft deze code? (30s)


A
1
B
10
C
11
D
fout/geen van deze

Slide 17 - Quizvraag

Deze slide heeft geen instructies

Functies 1/2
Eerder spraken we over standaardfuncties
Dit zijn functies die standaard aanwezig zijn

Voorbeelden zijn voor Python:
input(), print(), range(), int(), float(), str()

Slide 18 - Tekstslide

Deze slide heeft geen instructies

Functies 2/2
Naast standaard functies zijn er ook functies die je met een import van een bibliotheek krijgt (zoals turtle.forward())

Tot slot zijn er ook nog functies die je zelf kunt maken:
                  user-defined functions 
Wat die functies doen kan van alles zijn, zoals aanroepen van (andere) functies, doen van berekeningen, enzovoorts

Slide 19 - Tekstslide

Deze slide heeft geen instructies

User defined function 1/5
Belangrijk:
  • beginnen met def 
  • , tussen de optionele parameters
  • : aan het einde van de regel
  • let op inspringing van codeblok
  • functie moet worden gedefinieerd vóór aanroepen
  • functie wordt pas uitgevoerd bij aanroepen

Slide 20 - Tekstslide

Deze slide heeft geen instructies

User defined function 2/5
Een user defined function:
  1. wordt pas uitgevoerd als hij wordt aangeroepen (voor dat moment doet hij niets)

  2. kan pas worden aangeroepen nadat hij is gedefinieerd (gemaakt), anders krijg je een "is not defined" foutmelding!

Slide 21 - Tekstslide

Deze slide heeft geen instructies

User defined function 3/5
Als een functie wordt gedefinieerd dan is het mogelijk (maar niet verplicht) dat het een argument accepteert:
def functienaam(parameter):
    print(parameter)
functienaam("argument")

Let op: parameter is een variabele alleen in die functie

Slide 22 - Tekstslide

Deze slide heeft geen instructies

User defined function 4/5
De parameter(s) is een variabele(n) binnen de functie, deze krijgt/krijgen de waarde van het argument(en):




Let op: de parameter(s) zijn beperkt tot de functie



Slide 23 - Tekstslide

Deze slide heeft geen instructies

User defined function 5/5




Wat gebeurt in de code hierboven? 
Kijk goed naar de code (links) en de output (rechts)

Slide 24 - Tekstslide

Deze slide heeft geen instructies

Opdracht
  1. Neem over in Thonny en voer uit:
    functienaam()
    def functienaam():
       print("
    hallo")

  2. Je krijgt een foutmelding, waarom? Wat betekent die?
  3. Wat moet je veranderen?
timer
3:00

Slide 25 - Tekstslide

Deze slide heeft geen instructies

Foutmeldingen

Slide 26 - Tekstslide

Deze slide heeft geen instructies

Foutmeldingen


"line 1" > er is dus iets fout op de eerste regel


Slide 27 - Tekstslide

Deze slide heeft geen instructies

Foutmeldingen


"line 1" > er is dus iets fout op de eerste regel
"'functienaam' is not defined" > iets is nog niet gedefinieerd

Slide 28 - Tekstslide

Deze slide heeft geen instructies

Foutmeldingen


"line 1" > er is dus iets fout op de eerste regel
"'functienaam' is not defined" > iets is nog niet gedefinieerd
Dat is in dit geval "functienaam" en dat is de naam van de functie... hij wordt aangeroepen voordat hij gedefinieerd is

Slide 29 - Tekstslide

Deze slide heeft geen instructies

Foutmeldingen


"line 1" > er is dus iets fout op de eerste regel
"'functienaam' is not defined" > iets is nog niet gedefinieerd
Dat is in dit geval "functienaam" en dat is de naam van de functie... hij wordt aangeroepen voordat hij gedefinieerd is
Oplossing: regel 1 functienaam() verplaatsen naar regel 3

Slide 30 - Tekstslide

Deze slide heeft geen instructies

Opdracht
  1. Neem over in Thonny en voer het uit:
    def functienaam(param1, param2):
       print(
    param1 + param2)
    functienaam("
    hal", "lo daar")
  2. Als er geen fouten zijn, maak dan 3 fouten (bijv. weghalen van : of ) en + param3 )
  3. Probeer de foutmeldingen te lezen en te begrijpen
timer
3:00

Slide 31 - Tekstslide

Deze slide heeft geen instructies


Welke operator hoort hier?

100 __ 50 = TRUE
A
<
B
>
C
>=
D
<=

Slide 32 - Quizvraag

Deze slide heeft geen instructies

Leerdoelen:
Nu kun je:
  • het aantal iteraties berekenen for-loop en while-loop
  • uitleggen wat een user-defined functie is
  • in je eigen woorden vertellen wat een argument is
  • aangeven wat een parameter is
  • de relatie tussen parameter en argument uitleggen
  • een simpele foutmelding lezen en uitleggen






Slide 33 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.

Slide 34 - Tekstslide

Deze slide heeft geen instructies