Funktioner i Python - eller något programmeringsspråk - tar ofta argument - eller parametrar - som representerar värden funktionen kommer att använda under dess drift . Även en funktion kan ta 0 parametrarna , genom att använda syntaxen för Python , kan en funktion ta många argument , eller argument som definieras med standardvärden , eller ens variabla argumentlistor av godtycklig längd . Funktioner och parametrar
En typisk Python funktion kommer att innehålla noll eller flera parametrar . Som ett exempel , här är en funktion definition inklusive vissa parametrar :
def nameSquare ( x , namn ) :
/* funktionens kod * /
Funktionen nameSquare utför oavsett beräkningar som ingår i dess kod enligt de definierade parametrarna . Men när en programmerare anropar funktionen för användning , behöver han inte vet något annat än funktionen nameSquare kräver två variabler, ett heltal " x " och en sträng " namn. " Att kalla den här funktionen från annan kod , måste en programmerare ge två - och endast två - variabler eller värden :
x = nameSquare ( y , z ) katalog
y = nameSquare ( 5 , "Bob" ) katalog
z = nameSquare ( 8 ) //Fel . Andra argument inte definierat
standard parametrar
I vissa scenarion kan en programmerare välja att ha vissa argument i en funktion definition standard till ett visst värde . Använda nameSquare funktionen , kan parametern " namnet " standard till en sträng som representerar ett namn :
def nameSquare ( x , name = "Bob" ) :
Nu , när programmeraren anropar funktion i koden , behöver leverera han inte ett värde för det andra argumentet ( namn ) . Programmeraren kan leverera ett argument , om han önskar att åsidosätta standardinställningen :
y = nameSquare ( 5 ) katalog
z = nameSquare ( 4 , ' Robert ' )
nyckelord argument
Liknar definiera standardvärden för argument , kan en programmerare också definiera en rad sökord argument genom att skapa nyckelordsvärdepar . Tänk nameSquare som ett exempel :
def nameSquare ( x , name = "Bob" , title = ' kung ' , hobby = ' stämplar ' ) :
ett sökord eller default argument måste följa obligatoriska argument ( x ) . Den erforderliga argumentet måste alltid komma före nyckelord argument när en användare anropar en funktion . Däremot kan nyckelord argument själva kallas i valfri ordning , så länge som rätt sökord används :
x = nameSquare ( x , name = ' Harry ' , hobby = ' stämplar ' ) katalog
y = nameSquare ( x ) katalog
z = nameSquare ( x , title = ' kung ' ) katalog
z = nameSquare ( namn = ' George ' ) //error , saknad ' x ' argument
Variable argumentlistor
Dessutom kan en funktion har en varierande lista med argument genom användning av " * args " nyckelordet . En variabel argument lista betyder helt enkelt att användaren kan mata in en godtycklig mängd argument till en funktion , vars funktion kommer att tolka :
def nameSquare ( x , * args ) :
Inom funktionen representerar * args en samling av de variabla argument tillhandahålls av programmeraren . Argumenten " * args " är tillgängliga i funktionen av index ( * args [ 0 ] , * args [ 1 ] ) . Den variabla argumentlistan måste ske som sista parameter levereras i definitionen .
X = nameSquare ( x , y , z , 4 , 5 ) //* args [ 0 ] är y , * args [ 1 ] är z , etc.
y = nameSquare ( x , 2 , 4 ) //* args [ 0 ] är 2 , * args [ 1 ] är 4