Python-Functieargumenten

geplaatst in: Articles | 0

argumenten

In het door de gebruiker gedefinieerde functieonderwerp hebben we geleerd over het definiëren en aanroepen van een functie. Anders zal de functie aanroep resulteren in een fout. Hier is een voorbeeld.

uitvoer

Hello Monica, Good morning!

Hier heeft de functie greet() twee parameters.

omdat we deze functie met twee argumenten hebben aangeroepen, loopt het soepel en krijgen we geen fout.,

als we het aanroepen met een ander aantal argumenten, zal de interpreter een foutmelding tonen. Hieronder is een aanroep naar deze functie met één en geen argumenten samen met hun respectieve foutmeldingen.

>>> greet("Monica") # only one argumentTypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # no argumentsTypeError: greet() missing 2 required positional arguments: 'name' and 'msg'

variabele Functieargumenten

tot nu toe hadden functies een vast aantal argumenten. In Python zijn er andere manieren om een functie te definiëren die een variabel aantal argumenten kan aannemen.

drie verschillende vormen van dit type worden hieronder beschreven.,

Python Standaardargumenten

Functieargumenten kunnen standaardwaarden hebben in Python.

we kunnen een standaardwaarde geven aan een argument met behulp van de toegewezen operator (=). Hier is een voorbeeld.

Output

Hello Kate, Good morning!Hello Bruce, How do you do?

In deze functie, de parameter nameheeft geen standaardwaarde en is verplicht (verplicht) tijdens een aanroep.,

aan de andere kant heeft de parameter msg een standaardwaarde van "Good morning!". Dus, het is optioneel tijdens een gesprek. Als een waarde wordt opgegeven, zal deze de standaardwaarde overschrijven.

elk aantal argumenten in een functie kan een standaardwaarde hebben. Maar zodra we een standaardargument hebben, moeten alle argumenten rechts ervan ook standaardwaarden hebben.

Dit betekent dat niet-standaardargumenten de standaardargumenten niet kunnen volgen., Als we bijvoorbeeld de functiekop hierboven hadden gedefinieerd als:

def greet(msg = "Good morning!", name):

zouden we een fout krijgen als:

SyntaxError: non-default argument follows default argument

Python Keyword Arguments

wanneer we een functie met een aantal waarden aanroepen, worden deze waarden toegewezen aan de argumenten volgens hun positie.

Python maakt het mogelijk om functies aan te roepen met behulp van sleutelwoordargumenten. Als we functies op deze manier aanroepen, kan de volgorde (positie) van de argumenten worden gewijzigd. Na oproepen naar de bovenstaande functie zijn allemaal geldig en produceren hetzelfde resultaat.,

zoals we kunnen zien, kunnen we positieargumenten mengen met trefwoordargumenten tijdens een functieaanroep. Maar we moeten in gedachten houden dat trefwoordargumenten positionele argumenten moeten volgen.

het hebben van een positieargument na trefwoordargumenten zal resulteren in fouten. Bijvoorbeeld, de functie aanroep als volgt:

greet(name="Bruce","How do you do?")

zal resulteren in een fout:

SyntaxError: non-keyword arg after keyword arg

Python willekeurige argumenten

soms weten we niet van tevoren het aantal argumenten dat zal worden doorgegeven aan een functie., Python stelt ons in staat om dit soort situaties af te handelen door middel van functieaanroepen met een willekeurig aantal argumenten.

in de functiedefinitie gebruiken we een sterretje (*) voor de parameternaam om dit soort argumenten aan te duiden. Hier is een voorbeeld.

uitvoer

Hello MonicaHello LukeHello SteveHello John

Hier hebben we de functie met meerdere argumenten aangeroepen. Deze argumenten worden verpakt in een tupel voordat ze worden doorgegeven aan de functie. Binnen de functie gebruiken we een for lus om alle argumenten terug te halen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *