Oordrag van veelvuldige parameters na 'n funksie in Python
Laat ons aanneem ons het 'n funksie wat meerdere numeriese parameters aanvaar:
def func(num1, num2):
return num1 + num2
print(func(2, 3))
Wanneer die funksie aangeroep word, sal die gegewe getalle 2
en 3 onderskeidelijk in die veranderlikes num1
en num2 beland.
Maar daar is gevalle waar dit nodig is om baie parameters oor te dra
tydens die oproep van 'n funksie, waarvan die hoeveelheid vooraf
onbekend is. In Python kan jy slegs een veranderlike spesifiseer
by die definisie van die funksie, waaruit later 'n tupel van alle
oorgeplaatste parameters verkry word.
Om dit te doen, moet jy die simbool * voor hierdie veranderlike
plaas. Sulke 'n veranderlike word gewoonlik args genoem, maar
jy kan dit enige ander naam gee. En om alle parameters te verkry,
moet jy hierdie veranderlike in die funksieliggaam spesifiseer,
maar sonder die *:
def func(*args):
return args
print(func(1, 2, 3)) # sal (1, 2, 3) uitvoer
Daarna kan enige ander bewerkings met die verkregte parameters uitgevoer word. Kom ons kry hul som:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # sal 6 uitvoer
Skryf 'n funksie wat 'n onbeperkte hoeveelheid gebruikersname as parameters sal aanvaar en hulle as 'n tupel in die konsole sal uitvoer.