Funksjoner i Python - eller en hvilken som helst programmeringsspråk - ofte ta argumenter - eller parametre - som representerer verdier funksjonen vil bruke under sin drift. Mens en funksjon kan ta 0 parametre ved å bruke syntaksen til Python , kan en funksjon ta mange argumenter, eller argumenter som er definert med standardverdier , eller til og med variable argument lister av vilkårlig lengde. Funksjoner og parametre
En typisk Python funksjon vil inneholde null eller flere parametre . Som et eksempel , her er en funksjon definisjon inkludert noen parametere:
def nameSquare ( x , navn) : en
/* Funksjonen kode * /
Funksjonen nameSquare vil utføre uansett beregninger som er en del av koden , ved bruk av parametre som er definert . Men når en programmerer kaller funksjonen for bruk, trenger han ikke vet noe annet enn den funksjon nameSquare krever to variable, et heltall " x " og en streng " navn ". Å kalle denne funksjonen fra annen kode , må en programmerer gir to - og bare to - variabler eller verdier :
x = nameSquare ( y , z )
y = nameSquare ( 5 , ' Bob ')
z = nameSquare ( 8 ) //Feil . Andre argumentet ikke definert
standardparametere
I visse tilfeller kan en programmerer velger å ha visse argumenter i en funksjon definisjon standard til en viss verdi. Bruke nameSquare funksjonen , kan parameteren "navn" standard til en streng som representerer et navn:
def nameSquare ( x , name = ' bob ' ) : en
Nå , når programmerer kaller funksjon i koden , trenger han ikke leverer en verdi for det andre argumentet ( navn) . Programmereren kan levere et argument , bør han ønsker å overstyre standard : en
y = nameSquare ( 5 )
z = nameSquare ( 4 , ' Robert ')
med nøkkelordargumenter
samme som å definere standardverdier for argumenter , kan en programmerer også definere en serie med nøkkelordargumenter ved å opprette søkeord- verdi-par . Tenk nameSquare som et eksempel : en
def nameSquare ( x , name = ' bob ', title = ' konge ' , hobby = ' frimerker ' ) : en
et søkeord eller standard argumenter må følge nødvendige argumenter ( x ) . Den nødvendige argumentet må også alltid komme før nøkkelordargumenter når en bruker kaller en funksjon . Imidlertid kan nøkkelordargumenter selv bli kalt i hvilken som helst rekkefølge , så lenge den riktige søkeord er brukt : en
x = nameSquare ( x , name = ' harry ' , hobby = ' frimerker ')
y = nameSquare ( x )
z = nameSquare ( x , title = ' kongen ' )
z = nameSquare ( name = ' George ' ) //feil , mangler ' x' argument
variabel Argument Lister
Dessuten kan en funksjon har en variabel liste over argumenter gjennom bruk av " * args " søkeord . En variabel argument liste betyr ganske enkelt at brukeren kan skrive inn en vilkårlig mengde argumenter til en funksjon , hvor funksjonen vil virke : en
def nameSquare ( x , * args ) : en
Innenfor funksjon , * representerer argumentblokken en samling av de variabelargumenter leveres av programmereren. Argumentene i "* args " er tilgjengelig innen funksjonen ved indeks ( * args [ 0 ] , * args [ 1] ) . Den variable argument liste må være som siste parameter leveres i definisjonen .
X = nameSquare ( x , y , z , 4, 5 ) //* args [ 0 ] er y , * args [ 1 ] er z , etc.
y = nameSquare ( x , 2 , 4 ) //* args [ 0 ] er 2, * args [ 1 ] er 4