Python Funktionsargument

posted in: Articles | 0

argument

i det användardefinierade funktionsämnet lärde vi oss om att definiera en funktion och ringa den. Annars kommer funktionsanropet att resultera i ett fel. Här är ett exempel.

utgång

Hello Monica, Good morning!

Här har funktionengreet() två parametrar.

eftersom vi har kallat den här funktionen med två argument går den smidigt och vi får inget fel.,

om vi kallar det med ett annat antal argument kommer tolken att visa ett felmeddelande. Nedan är ett samtal till denna funktion med en och inga argument tillsammans med deras respektive felmeddelanden.

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

argument för variabel funktion

fram till nu har funktionerna ett fast antal argument. I Python finns det andra sätt att definiera en funktion som kan ta variabelt antal argument.

tre olika former av denna typ beskrivs nedan.,

Python standardargument

Funktionsargument kan ha standardvärden i Python.

Vi kan tillhandahålla ett standardvärde för ett argument genom att använda tilldelningsoperatören (=). Här är ett exempel.

utgång

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

i den här funktionen har parametern name inget standardvärde och krävs (obligatoriskt) under den här funktionen.ett samtal.,

däremot har parametern msg ett standardvärde för "Good morning!". Så det är valfritt under ett samtal. Om ett värde tillhandahålls kommer det att skriva över standardvärdet.

valfritt antal argument i en funktion kan ha ett standardvärde. Men när vi har ett standardargument måste alla argument till höger också ha standardvärden.

det betyder att icke-standardargument inte kan följa standardargument., Om vi till exempel hade definierat funktionshuvudet ovan som:

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

vi skulle få ett fel som:

SyntaxError: non-default argument follows default argument

Python Nyckelordargument

När vi kallar en funktion med vissa värden tilldelas dessa värden argumenten enligt deras position.

Python tillåter att funktioner anropas med sökordsargument. När vi kallar funktioner på detta sätt kan ordningen (positionen) av argumenten ändras. Följande samtal till ovanstående funktion är alla giltiga och ger samma resultat.,

som vi kan se kan vi blanda positionella argument med sökordsargument under ett funktionssamtal. Men vi måste komma ihåg att sökordsargument måste följa positionella argument.

att ha ETT positionellt argument efter sökordsargument kommer att resultera i fel. Till exempel kommer funktionsanropet enligt följande:

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

att resultera i ett fel:

SyntaxError: non-keyword arg after keyword arg

Python godtyckliga argument

Ibland vet vi inte i förväg antalet argument som kommer att överföras till en funktion., Python tillåter oss att hantera denna typ av situation genom funktionssamtal med ett godtyckligt antal argument.

i funktionsdefinitionen använder vi en asterisk (*) före parameternamnet för att beteckna denna typ av argument. Här är ett exempel.

utgång

Hello MonicaHello LukeHello SteveHello John

Här har vi kallat funktionen med flera argument. Dessa argument blir inslagna i en tuple innan de skickas in i funktionen. Inuti funktionen använder vi enfor slinga för att hämta alla argument tillbaka.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *