目次
1. Mis on Python’i argumendid?
Pythonis on argumendid viis, kuidas funktsioonid ja meetodid saavad välisest allikast andmeid vastu võtta ja konkreetseid toiminguid täita. Argumendid funktsioonidele edastades on võimalik teha paindlikku andmetöötlust, mis parandab programmi taaskasutatavust ja laiendatavust. Selles artiklis selgitame samm-sammult Python’i argumentide aluseid kuni rakendusteni.Funktsioonide ja argumentide põhilised rollid
Funktsioon on käsukogum, mis täidab kindlat ülesannet. Argument on sisendandmed, mis antakse funktsioonile, ja seda kasutatakse järgmiselt.def greet(name):
print(f"Tere, {name}!")
Selles näites saab argumendile name
anda suvalise nime, et kuvada individuaalne sõnum.greet("佐川") # Väljund: Tere, 佐川!
2. Pythonis argumentide põhialused
Järgmisena vaatleme Pythonis argumentide kasutamist asukohaargumentide, märksõnaargumentide ja vaikimisi argumentide vaatenurgast.Asukohaargumendid ja nende tähtsus
Asukohaargumendid edastatakse funktsioonile funktsiooni väljakutsumisel argumentide määratud järjekorras.def add(a, b):
return a + b
result = add(5, 3) # Tulemus: 8
Märksõnaargumentide kasutamine
Märksõnaargumentide kasutamisega ei pea muretsema argumentide järjekorra pärast, vaid saab funktsioonile väärtusi selgelt edastada.def introduce(name, age):
print(f"Ma olen {name}. Vanus on {age} aastat.")
introduce(age=25, name="Sagawa") # Väljund: Ma olen Sagawa. Vanus on 25 aastat.
Vaikimisi argumentide kasutamine
Vaikimisi argumentide seadistamisega on võimalik, kui argument jäetakse välja, kasutada vaikimisi väärtust.def greet(name="Külaline"):
print(f"Tere, {name}!")
greet() # Väljund: Tere, külaline!
Argumentide järjekord
Kui kasutatakse asukoha- ja märksõnaargumente samaaegselt, tuleb asukohaargumendid määrata kõigepealt ja märksõnaargumendid hiljem. Järjekorra eksimine põhjustab vea.3. Pythoni muutuvpikkusega argumendid (*args ja **kwargs)
*args
kasutamine
*args
kasutatakse funktsioonile suvalise arvu positsioonilisi argumente edastamiseks. Sellega saab funktsiooni muuta üldisemaks.def print_numbers(*args):
for number in args:
print(number)
print_numbers(1, 2, 3)
**kwargs
kasutamine
**kwargs
abil saab võtta suvalised märksõnaargumendid sõnastiku kujul.def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Sagawa", age=30, job="kirjanik")
*args
ja **kwargs
kombinatsioon
*args
ja **kwargs
kombineerides saab luua paindliku funktsiooni, mis võtab vastu nii positsioonilisi kui ka märksõnaargumente.def process_data(*args, **kwargs):
total = sum(args)
print(f"Kokku: {total}")
for key, value in kwargs.items():
print(f"{key}: {value}")
process_data(1, 2, 3, name="Sagawa", age=30)
4. Argumentide rakendused ja kasutusnäited
Praktilised rakendused: API parameetrite töötlemine
API kutsumisel on vaja töödelda dünaamilisi parameetreid.*args
ja **kwargs
kasutades saab mitut parameetrit paindlikult käsitleda.def api_call(endpoint, **params):
print(f"API lõpp-punkt: {endpoint}")
for key, value in params.items():
print(f"{key}: {value}")
api_call("/user", id=123, action="view")
Rakendused suurandmete töötlemisel
Ka suurte andmete töötlemise funktsioonides saab*args
abil muutuvpikkusega argumente tõhusalt käsitleda.5. Argumentide veahaldus ja valideerimine
Argumentide arvu veahaldus
Kui funktsioonile antud argumentide arv on vähem kui oodatud, saab veahaldust kasutades vältida programmi kokkujooksmist.def add_numbers(*args):
if len(args) < 2:
raise ValueError("Vähemalt kaks argumenti on vajalikud")
return sum(args[:2])
Tüübi valideerimine
Argumentide tüübi kontrollimisega saab vältida ootamatuid vigu.def multiply(a, b):
if not isinstance(a, (int, float)) or not isinstance(b, (int, float)):
raise TypeError("Argument peab olema arv")
return a * b
try-except
abil veahaldus
Kasutades try-except
süntaksit, saab vigu püüda ja nendega õigesti toime tulla.def divide(a, b):
try:
result = a / b
except ZeroDivisionError:
return "Ei saa jagada nulliga"
except TypeError:
return "Palun sisestage arv"
return result
6. Kokkuvõte
Selle artikli kaudu käsitlesime laialdaselt Python’i argumentide aluseid ja rakendusi. Eriti tahaksime rõhutada*args
ja **kwargs
kasutamist paindlikus funktsioonide määratlemises, samuti veahaldamise ja valideerimise tähtsust.Peamised punktid:
- Positsiooniliste argumentide, märksõnaargumentide ja vaikimisi argumentide alused
- Paindlik funktsioonide määratlemine
*args
ja**kwargs
kasutades - Argumentide veahaldamise ja valideerimise tähtsus