Python Functies
- Vorige pagina Python For Lus
- Volgende pagina Python Lambda
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()
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")
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")
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)
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))
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")
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")
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
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)
- Vorige pagina Python For Lus
- Volgende pagina Python Lambda