Değişken uzunlukta anahtar sözcük argümanları olan işlevler (\*\*kwargs)
Esnek argümanlar hakkında öğrendiklerinizi biraz daha ilerletelim - *args kullandınız, şimdi **kwargs kullanacaksınız! **kwargs 'u farklı kılan şey, fonksiyonlara değişken sayıda anahtar kelime argümanı geçirmenize izin vermesidir. Önceki videodan, fonksiyon tanımı içinde kwargs 'un bir sözlük olduğunu hatırlayın.
Bu fikri daha iyi anlamak için, bu alıştırmada değişken sayıda anahtar kelime argümanı kabul eden bir fonksiyon tanımlamak için **kwargs adresini kullanacaksınız. Fonksiyon, bir filmdeki bir karakterin durumunu yazdıran basit bir durum raporu sistemini simüle eder.
Bu egzersiz
Python'da Fonksiyonlara Giriş
kursunun bir parçasıdırEgzersiz talimatları
- İşlev başlığını
report_statusişlev adıyla tamamlayın. Tek bir esnek argüman kabul eder**kwargs. - İki nokta üst üste ':' ile ayrılmış anahtarları ve değerleri yazdırmak için
kwargsadresinin anahtar-değer çiftleri üzerinde yineleme yapın. report_status()adresine yapılan ilk çağrıda aşağıdaki anahtar kelime-değer çiftlerini iletin:name="luke",affiliation="jedi"vestatus="missing".report_status()adresine yapılan ikinci çağrıda, aşağıdaki anahtar sözcük-değer çiftlerini iletin:name="anakin",affiliation="sith lord"vestatus="deceased".
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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=____)