argumentumok
a felhasználó által definiált függvénytémában megtanultuk egy függvény definiálását és hívását. Ellenkező esetben a függvényhívás hibát eredményez. Itt van egy példa.
kimenet
Hello Monica, Good morning!
itt a greet()
függvénynek két paramétere van.
mivel ezt a funkciót két argumentummal hívtuk, simán fut, és nem kapunk hibát.,
ha más argumentumokkal hívjuk, a tolmács hibaüzenetet jelenít meg. Az alábbiakban egy hívás erre a funkcióra, egyetlen argumentummal, valamint a megfelelő hibaüzenetekkel.
>>> greet("Monica") # only one argumentTypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # no argumentsTypeError: greet() missing 2 required positional arguments: 'name' and 'msg'
változó függvény argumentumok
eddig a függvényeknek rögzített számú argumentuma volt. A Python-ban más módok is vannak egy olyan funkció meghatározására, amely változó számú argumentumot vehet fel.
Az alábbiakban három ilyen típusú különböző formát ismertetünk.,
Python alapértelmezett argumentumok
függvény argumentumok lehetnek alapértelmezett értékek Python.
Az argumentum alapértelmezett értékét a hozzárendelés operátor (=) használatával adhatjuk meg. Itt van egy példa.
kimenet
Hello Kate, Good morning!Hello Bruce, How do you do?
ebben a függvényben a name
nem rendelkezik alapértelmezett értékkel, ezért hívás közben (kötelező) szükséges.,ezzel szemben a msg
paraméter alapértelmezett értéke "Good morning!"
. Tehát opcionális hívás közben. Ha egy érték van megadva, felülírja az alapértelmezett értéket.
bármely függvény Argumentumának alapértelmezett értéke lehet. De ha van egy alapértelmezett argumentumunk, akkor a jobb oldali összes argumentumnak alapértelmezett értékekkel kell rendelkeznie.
Ez azt jelenti, hogy a NEM alapértelmezett argumentumok nem tudják követni az alapértelmezett argumentumokat., Például, ha a fenti függvényfejlécet a következőképpen definiáltuk:
def greet(msg = "Good morning!", name):
hibát kapunk:
SyntaxError: non-default argument follows default argument
Python kulcsszó argumentumok
amikor bizonyos értékekkel rendelkező függvényt hívunk, ezek az értékek pozíciójuk szerint kerülnek az argumentumokhoz.
a Python lehetővé teszi a funkciók hívását kulcsszó argumentumok használatával. Amikor ilyen módon hívunk függvényeket, az argumentumok sorrendje (pozíciója) megváltoztatható. A fenti függvény hívásai mind érvényesek, és ugyanazt az eredményt adják.,
amint láthatjuk, a pozíciós argumentumokat kulcsszó argumentumokkal keverhetjük egy függvényhívás során. De szem előtt kell tartanunk, hogy a kulcsszó érveknek pozíciós érveket kell követniük.
Ha a kulcsszó argumentumok után pozicionális argumentum van, hibákat eredményez. Például a függvényhívás a következő:
greet(name="Bruce","How do you do?")
hibát eredményez:
SyntaxError: non-keyword arg after keyword arg
Python tetszőleges argumentumok
néha nem tudjuk előre, hogy hány argumentum kerül egy függvénybe., Python lehetővé teszi számunkra, hogy kezelni ezt a fajta helyzetet függvényhívások tetszőleges számú érvek.
a függvénydefinícióban a paraméter neve előtt egy csillagot (*) használunk az ilyen típusú argumentum jelölésére. Itt van egy példa.
kimenet
Hello MonicaHello LukeHello SteveHello John
itt több argumentummal hívtuk a függvényt. Ezek az érvek kap bebugyolálva egy tuple, mielőtt át a funkciót. A függvény belsejében egy for
hurkot használunk az összes argumentum visszaszerzéséhez.
Vélemény, hozzászólás?