Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Meerdere Functie-Argumenten
Elke functie in Python ontvangt een vooraf vastgesteld aantal argumenten, als deze normaal wordt gedeclareerd, zoals dit:
Het is mogelijk om functies te declareren die een variabel aantal argumenten ontvangen, met de volgende syntaxis:
De variabele "therest" is een lijst van variabelen, die alle argumenten ontvangt die aan de "foo"-functie zijn gegeven na de eerste 3 argumenten. Dus het aanroepen van foo(1, 2, 3, 4, 5)
zal het volgende afdrukken:
Het is ook mogelijk om functies argumenten te sturen op basis van sleutelwoorden, zodat de volgorde van het argument niet uitmaakt, met behulp van de volgende syntaxis. De volgende code geeft de volgende uitvoer:
De som is: 6
Resultaat: 1
De "bar"-functie ontvangt 3 argumenten. Als er een extra "action"-argument wordt ontvangen, dat instrueert om de getallen op te tellen, dan wordt de som afgedrukt. Alternatief weet de functie ook dat het het eerste argument moet retourneren, als de waarde van de "number"-parameter, doorgegeven aan de functie, gelijk is aan "first".
Exercise
Vul de foo
en bar
functies in zodat ze een variabele hoeveelheid argumenten kunnen ontvangen (3 of meer)
De foo
functie moet het aantal extra ontvangen argumenten retourneren.
De bar
moet True
retourneren als het argument met het sleutelwoord magicnumber
de waarde 7 heeft, en False
anders.
# edit the functions prototype and implementation
def foo(a, b, c):
pass
def bar(a, b, c):
pass
# test code
if foo(1, 2, 3, 4) == 1:
print("Good.")
if foo(1, 2, 3, 4, 5) == 2:
print("Better.")
if bar(1, 2, 3, magicnumber=6) == False:
print("Great.")
if bar(1, 2, 3, magicnumber=7) == True:
print("Awesome!")
# edit the functions prototype and implementation
def foo(a, b, c, *args):
return len(args)
def bar(a, b, c, **kwargs):
return kwargs["magicnumber"] == 7
# test code
if foo(1, 2, 3, 4) == 1:
print("Good.")
if foo(1, 2, 3, 4, 5) == 2:
print("Better.")
if bar(1, 2, 3, magicnumber=6) == False:
print("Great.")
if bar(1, 2, 3, magicnumber=7) == True:
print("Awesome!")
test_output_contains("Good.")
test_output_contains("Better.")
test_output_contains("Great.")
test_output_contains("Awesome!")
success_msg("Great work!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!