Functies maken in Python

Als je in een Python programma een bepaalde handelingvaker wilt laten uitvoeren kun je de opdracht in een functie zetten.
Een functie is een stukje code dat je kunt hergebruiken om iets specifieks te doen, zoals het maken van een berekening, het afdrukken van tekst, of het uitvoeren van een bepaalde taak.

				
					def zeg_hallo():
     print("Hallo wereld!")
				
			

Een functie definiëren

  • def is de afkorting voor definiëren
    Hiermee geef je aan dat je een functie gaat maken.
  • Daarna geef je de functie een naam, in dit voorbeeld is dat zeg_hallo
  • Dan komen er een haakje openen en sluiten.
    Dat is om parameters aan de functie mee te geven.
    We komen daar later nog op terug.
    Het belangrijkste is dat je ze niet mag vergeten te typen.
  • Vervolgens typ je een dubbele punt (:)

Inspringen

  • Deze code ken je al.
    Python print een string naar de shell
    Wat er nieuw is, is de inspringing.
    Python maakt die automatisch na een dubbele punt.
    De inspringing betekent dat deze code onderdeel is van de functie.

     

Functie aanroepen

De opdracht in het voorbeeld wordt nog niet uitgevoerd.
Er wordt dus ook niets naar de shell geprint.
Pas als de functie aangeroepen wordt gaat Python aan de slag.
Dat ziet er dan zo uit:

				
					def zeg_hallo():
     print("Hallo wereld!")
     
zeg_hallo()
				
			

Hallo wereld!

Een parameter meesturen

Met zeg_hallo() wordt de functie aangeroepen en dus ook uitgevoerd.
Tussen de haakjes mag je een parameter meesturen.
In het volgende voorbeeld wordt in de shell gevraagd om je naam in te voeren.
Zodra dat gedaan is wordt die naam opgeslagen in de variabele naam.
In de functie staat de opdracht print Hallo + naam + !
Op de laatste regel wordt de functie aangeroepen.

Bekijk de volgende code:

				
					naam = input('Hoe heet je? ')
def zeg_hallo(naam):
    print("Hallo " + naam + "!")

zeg_hallo(naam)
				
			

Hoe heet je? Sonne
Hallo Sonne!

Ingebouwde functies

Python heeft veel handige functies die al voor je zijn gemaakt.
Deze functies kun je gewoon gebruiken in je code.
print() en len() ken je al.

				
					print("Hallo, wereld!")
				
			

Deze ingebouwde functie heb je al een paar keer gebruikt.
Met print() kun je dingen in de shell laten zien.

Hallo, wereld!

				
					mijn_lijst = ["lijst","loop","functie"]
print(len(mijn_lijst))

aantal_letters = "Hoeveel letters?"
print(len(aantal_letters))
				
			

Deze ingebouwde functie heb je ook al eens gebruikt.
Met len() kun je het aantl woorden in een lijst tellen.
Ook kun je met deze functie het aantal letters in een string tellen.

3

16

				
					getallen = [3, 7, 2, 8]

grootste = max(getallen) 
print(grootste)

kleinste = min(getallen) 
print(kleinste)
				
			

8

2

De functie max() geeft het grootste getal in een lijst of reeks terug:
Net als max(), maar min() geeft het kleinste getal terug:

				
					getallen = [3, 7, 2, 8]
letters = ["b", "c", "a", "d"]

sorteer_getallen = sorted(getallen)
print(sorteer_getallen)

sorteer_letters = sorted(letters)
print(sorteer_letters)
				
			

[2, 3, 7, 8]
[‘a’, ‘b’, ‘c’, ‘d’]

De functie sorted() sorteert een lijst van klein naar groot of zet de lijst op alfabetische volgorde:

				
					getallen = [3, 7, 2, 8]
getallen.reverse()
print(getallen)
				
			

[8, 2, 7, 3]

Met de functie reverse() kun je de volgorde van een lijst omdraaien.

				
					naam = "Sonne"
naam_in_hoofdletters = naam.upper() 
naam_in_kleineletters = naam.lower() 
print(naam_in_hoofdletters)
print(naam_in_kleineletters)
				
			

Met upper() kun je een string omzetten naar hoofdletters:
Met lower() kun je een string omzetten naar kleine letters:

SONNE
sonne

				
					zin = "Ik hou van appels"
nieuwe_zin = zin.replace("appels", "bananen")
print(zin)
				
			

Ik hou van bananen

Met replace() kun je stukjes tekst in een string vervangen door iets anders: