Kan iemand mij uitleggen wat 'return' (zonder de aanhalingstekens) doet in python?

Ik ben bezig met het leren van python d.m.v. het boek dat onderaan staat. Nu ik bij exercise 21 ben gekomen snap ik niet helemaal wat 'return' doet. Ik weet wel dat het achter een function moet komen en de function snap ik ook wel maar wat het precies doet weet ik niet. Kan iemand mij meer uitleg geven?

http://www.learnpythonthehardway.org/book/

Weet jij het antwoord?

/2500

Een function doet een berekening waar een resultaat uitkomt. Dat resultaat moet worden gemeld aan de aanroeper van de function. In het voorbeeld wordt bijvoorbeeld een function gedefinieerd die "add" heet en die twee getallen meekrijgt om mee te rekenen: "a" en "b". De function "add" heeft als taak "a" en "b" op te tellen, en het resultaat daarvan terug te melden. (En in dit voorbeeld bevat "add" ook nog een "print"-opdracht, maar die staat er alleen om de oefening duidelijker te maken.) De "return" zegt WAT er aan de aanroeper moet worden gemeld. In dit geval dus: a+b. Dus add(25, 7) geeft als resultaat ("return-waarde") 32. Probeer maar: zet in de function als laatste regel maar eens "return 42" (zonder aanhalingstekens). Je zult zien dat "age" in het hoofdprogramma dan altijd 42 wordt, en niet 35 zoals nu. Je kunt in de function als laatste regel ook "return 2*a" zetten. Dan zal "age" 60 worden in plaats van 35, omdat het hoofdprogramma nu de waarde 60 terugkrijgt van de function "add".  

Een function is een soort gespecialiseerd mini-programmaatje dat een bepaalde waarde voor je berekent. In dat "programmaatje" kan sprake zijn van van meerdere getallen en variabelen. Hoe geef je nou aan welk van die waarden nou die ene is waar het om draait ? (welke de uitkomst is, dus) Wel, dat doe je met het return-commando. Je zegt als het ware: "geef als uitkomst terug: uitkomst" Lui als programmeurs zijn nemen ze vaak niet eens de moeite om de betreffende uitkomst een naam te geven (in een variabele te stoppen) Ze geven alleen de som op. De computer gaat dan eerst de som uitrekenen en geeft vervolgens het antwoordt terug aan het hoofd-programma dat de function in eerste instantie aanriep. B.v.: def add(a, b): print "ADDING %d + %d" % (a, b) return a + b Stel dat: a=5 en b=7, dan zal de computer dus berekenen: 5+7=13 De funktie 'add' zal na aanroep dus "13" aan het hoofdprogramma terug geven. Of in het geval van: age = add(30, 5) dan zal de function aangeroepen worden met de waarden a=30 en b=5. De function zal a+b = 30+5 = 35 worden en via de 'return' wordt dit teruggegeven en in de variabele 'age' gestopt. Na afloop zal 'age=35' zijn

Return is het einde van een functie, en geeft het resultaat van de functie terug. Dus: def functienaam(var1, var2 ....): Doe iets zinvols met var1 en var2 en stop dat in de variabele resultaat return resultaat Als je een functie schrijft die twee getallen bij elkaar op telt, de letters van een string verhusselt of iets dergelijks, dan krijg je op deze manier dat resultaat terug. Als mijn functie niet een resultaat als een getal, of een verbouwde string heeft, geef ik vaak terug of de actie van een functie wel of niet geslaagd is. dus: def stuur_tweet(tekst): try: Verstuur_twittertekst_met_een_paar_regels_code result = True except twitterfouten: print("tweet %s niet verstuurd" %(tekst)) result = False return result Toegevoegd na 1 minuut: Als je alleen return gebruikt, geef je daarmee aan dat de functie is afgelopen. Je geeft dan 'niets' terug. Correct me if I am wrong, maar dat is volgens mij net zo iets als in C return void, of te wel 'leegte'

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100