Python Functies

Een functie is een blok code dat alleen uitgevoerd wordt wanneer het wordt aangeroepen.

Je kunt gegevens (genaamd parameters) naar een functie doorgeven.

Functies kunnen gegevens als resultaat retourneren.

om functies te maken

In Python, gebruik je def Kleine letter definieert een functie:

Voorbeeld

def my_function():
  print("Hello from a function")

Functie aanroepen

Om een functie aan te roepen, gebruik je de functienaam gevolgd door haakjes:

Voorbeeld

def my_function():
  print("Hello from a function")
my_function()

Voer een voorbeeld uit

Parameters

Informatie kan als parameter aan een functie worden doorgegeven.

Parameters worden gespecificeerd in de rechte haken achter de functienaam. Je kunt zoveel parameters toevoegen als je wilt, gescheiden door komma's.

Hier is een voorbeeld van een functie met parameters (fname). Wanneer je deze functie aanroept, geef je een naam door en gebruik je deze binnen de functie om de volledige naam af te drukken:

Voorbeeld

def my_function(fname):
  print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")

Voer een voorbeeld uit

Standaard parameterwaarden

Hier is een voorbeeld van hoe je standaard parameterwaarden kunt gebruiken.

Als we een functie zonder parameters hebben aangeroepen, gebruiken we de standaardwaarde:

Voorbeeld

def my_function(country = "China"):
  print("Ik ben uit " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Voer een voorbeeld uit

Parameters door List sturen

De parameters die je naar de functie stuurt, kunnen van elk type zijn (tekst, nummers, lijsten, dictionaries, enz.), en worden binnen de functie als dezelfde datatypes gezien.

Bijvoorbeeld, als je een List als parameter stuurt, blijft het een List (lijst) wanneer het de functie bereikt:

Voorbeeld

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Voer een voorbeeld uit

Retourwaarde

Om een waarde terug te geven van de functie, gebruik je: return Staat:

Voorbeeld

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Voer een voorbeeld uit

Keyword parameters

Je kunt ook de syntax key = value gebruiken om parameters te sturen.

De volgorde van de parameters is niet belangrijk.

Voorbeeld

def my_function(child3, child2, child1):
  print("De jongste kind is " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

Voer een voorbeeld uit

In de Python-documentatie wordt het woord 'keyword parameters' meestal afgekort tot kwargs.

Eventuele parameters

Als je niet weet hoeveel parameters je aan je functie wilt doorgeven, voeg dan * toe aan de naam van de parameter in de functie definitie.

Op deze manier zal de functie een parameter tuple ontvangen en kan hij de items respectievelijk benaderen:

Voorbeeld

Als je het aantal parameters onbekend bent, voeg dan * toe aan de naam van de parameter:

def my_function(*kids):
  print("De jongste kind is " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

Voer een voorbeeld uit

pass-statement

De functie definitie mag niet leeg zijn, maar als je om een of andere reden een lege functie definitie hebt geschreven, gebruik dan de pass-statement om fouten te vermijden.

Voorbeeld

def myfunction:
  pass

Voer een voorbeeld uit

Recursie

Python accepteert ook functionele recursie, wat betekent dat een gedefinieerde functie zichzelf kan aanroepen.

Recursie is een algemeen wiskundig en programmeerconcept. Het betekent dat een functie zichzelf aanroept. Het voordeel hiervan is dat je gegevens kunt herhalen om tot een resultaat te komen.

Ontwikkelaars moeten zeer voorzichtig zijn met recursie, omdat het gemakkelijk kan leiden tot een functie die nooit ophoudt, of een functie die te veel geheugen of processor capaciteit gebruikt. Maar, als het correct wordt geschreven, kan recursie een zeer effectieve en wiskundig elegant programmeermethode zijn.

In dit voorbeeld:tri_recursion() is een functie die zichzelf ("recurse") aanroept. We gebruiken de k-waarde als gegevens en verminderen deze bij elke recursie (-1). De recursie eindigt wanneer de voorwaarde niet groter is dan 0 (bijvoorbeeld als het 0 is).

Voor nieuwe ontwikkelaars kan het enige tijd duren om het werkingsprincipe te begrijpen, de beste manier is om het te testen en te wijzigen.

Voorbeeld

Voorbeeld van recursie:

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nRecursion Example Results")
tri_recursion(6)

Voer een voorbeeld uit