Değişken uzunlukta anahtar sözcüklü argümanlar (**kwargs) ile fonksiyonlar
Esnek argümanlar konusunu biraz daha ilerletelim — *args kullandın, şimdi de **kwargs kullanacaksın! **kwargs'ı farklı kılan, fonksiyonlara değişken sayıda anahtar sözcüklü argüman geçirmene izin vermesidir. Önceki videodan hatırlarsan, fonksiyon tanımı içinde kwargs bir sözlüktür.
Bu fikri daha iyi anlamak için, bu egzersizde değişken sayıda anahtar sözcüklü argüman kabul eden bir fonksiyon tanımlamak üzere **kwargs kullanacaksın. Fonksiyon, bir filmdeki bir karakterin durumunu yazdıran basit bir durum raporu sistemini simüle eder.
Bu egzersiz, kursun bir parçasıdır
Python'da Fonksiyonlara Giriş
Egzersiz talimatları
- Fonksiyon adını
report_statusolacak şekilde fonksiyon başlığını tamamla. Tek bir esnek argüman**kwargskabul eder. kwargsiçindeki anahtar-değer çiftleri üzerinde yineleyerek anahtarları ve değerleri iki nokta ':' ile ayrılmış şekilde yazdır.report_status()'un ilk çağrısında şu anahtar-değer çiftlerini geçir:name="luke",affiliation="jedi"vestatus="missing".report_status()'un ikinci çağrısında şu anahtar-değer çiftlerini geçir:name="anakin",affiliation="sith lord"vestatus="deceased".
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Define report_status
def ____(____):
"""Print out the status of a movie character."""
print("\nBEGIN: REPORT\n")
# Iterate over the key-value pairs of kwargs
for ____, ____ in kwargs.items():
# Print out the keys and values, separated by a colon ':'
print(____ + ": " + ____)
print("\nEND REPORT")
# First call to report_status()
# Second call to report_status()
report_status(name=____, affiliation=____, status=____)