3.2 Zijn acties functies?
- 3.1 Wat is een actie? - acties op een vorm uitvoeren
Nu zul je denken, zijn acties niet gewoon hetzelfde als de functies die we eerder gezien hebben?
Oftewel, is distance_to() niet gewoon een functie? Het antwoord is: ja en nee.
Voorbeeld van een Python functie:
Het doel van een functie is om een aantal Python-commando's te bundelen, zodat je niet elke keer dezelfde regels code hoeft te typen:
Kijk in het console-paneel onder het scherm — daar zie je de uitvoer van print().
Een vraag: hoeveel regels code komen erbij als je ook "Happy birthday" willen zingen voor de tweelingzus Rachel?
Klik hier voor het antwoord
Slechts één. De functie wordt maar één keer gedefinieerd. Daarna heb je iedere keer maar één regel code nodig om de functie aan te roepen.
En een methode?
Wat we veel gebruiken in coderius-play is een functie, maar die is dan vastgeplakt aan bijvoorbeeld een vorm. Dit noemen we een methode:
In dit voorbeeld zit de methode distance_to() vast aan het cirkel-object. Wanneer we cirkel.distance_to(blok) uitvoeren, weet Python dat de afstand specifiek vanaf deze ene cirkel moet worden berekend.
Opdracht 3.2.a: Functie of methode?
Hieronder zie je een programma met vier verschillende aanroepen. Bekijk de code en probeer voor jezelf te beantwoorden: welke zijn functies en welke zijn methodes?
import play
cirkel = play.new_circle(x=-100)
blok = play.new_box(x=100)
afstand = cirkel.distance_to(blok)
print(afstand)
willekeurig = play.random_number(1, 10)
cirkel.hide()
Klik hier voor een tip.
Kijk goed naar de punt (.). Wat staat er vóór de punt, en wat erna?
Klik hier voor het antwoord
play.new_circle(x=-100)— functie van deplay-bibliotheekplay.new_box(x=100)— functie van deplay-bibliotheekcirkel.distance_to(blok)— methode, vastgeplakt aan hetcirkel-objectprint(afstand)— functie (een ingebouwde Python-functie, geen punt ervoor)play.random_number(1, 10)— functie van deplay-bibliotheekcirkel.hide()— methode, vastgeplakt aan hetcirkel-object
Een vuistregel: staat er een variabele (zoals cirkel) gevolgd door een punt, dan is het een methode. Staat er alleen play. of een woord op zichzelf, dan is het een functie.