Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

Birden Fazla Fonksiyon Argümanı


Her Python fonksiyonu, eğer normal bir şekilde tanımlanmışsa, önceden belirlenmiş sayıda argüman alır, şu şekilde:

python def myfunction(first, second, third): # 3 değişkenle bir şey yap ...

Değişken sayıda argüman alan fonksiyonlar tanımlamak da mümkündür, şu sözdizimi kullanılarak:

python def foo(first, second, third, *therest): print("First: %s" % first) print("Second: %s" % second) print("Third: %s" % third) print("And all the rest... %s" % list(therest))

"therest" değişkeni, "foo" fonksiyonuna ilk 3 argümandan sonra verilen tüm argümanları alan bir değişken listesidir. Yani foo(1, 2, 3, 4, 5) çağrıldığında şu çıktıyı verir:

```python def foo(first, second, third, *therest): print("First: %s" %(first)) print("Second: %s" %(second)) print("Third: %s" %(third)) print("And all the rest... %s" %(list(therest)))

foo(1, 2, 3, 4, 5) ```

Argümanları anahtar kelime ile göndererek, argümanların sırasının önemi olmadan da fonksiyonlara argüman göndermek mümkündür, şu sözdizimi kullanılarak. Aşağıdaki kod şu çıktıyı verir: The sum is: 6 Result: 1

```python def bar(first, second, third, **options): if options.get("action") == "sum": print("The sum is: %d" %(first + second + third))

if options.get("number") == "first":
    return first

result = bar(1, 2, 3, action = "sum", number = "first") print("Result: %d" %(result)) ```

"bar" fonksiyonu 3 argüman alır. Eğer ek bir "action" argümanı alınır ve sayıları toplama talimatı verirse, toplamın çıktısı alınır. Alternatif olarak, "number" parametresinin değeri "first" ise fonksiyon ilk argümanı döndürmesi gerektiğini de bilir.

Exercise

foo ve bar fonksiyonlarını değişken miktarda argüman (3 veya daha fazla) alacak şekilde doldurun. foo fonksiyonu, alınan ekstra argümanların miktarını döndürmelidir. bar, magicnumber anahtar kelimesi ile verilen argüman 7 değerindeyse True, aksi takdirde False döndürmelidir.

# edit the functions prototype and implementation def foo(a, b, c): pass def bar(a, b, c): pass # test code if foo(1, 2, 3, 4) == 1: print("Good.") if foo(1, 2, 3, 4, 5) == 2: print("Better.") if bar(1, 2, 3, magicnumber=6) == False: print("Great.") if bar(1, 2, 3, magicnumber=7) == True: print("Awesome!") # edit the functions prototype and implementation def foo(a, b, c, *args): return len(args) def bar(a, b, c, **kwargs): return kwargs["magicnumber"] == 7 # test code if foo(1, 2, 3, 4) == 1: print("Good.") if foo(1, 2, 3, 4, 5) == 2: print("Better.") if bar(1, 2, 3, magicnumber=6) == False: print("Great.") if bar(1, 2, 3, magicnumber=7) == True: print("Awesome!") test_output_contains("Good.") test_output_contains("Better.") test_output_contains("Great.") test_output_contains("Awesome!") success_msg("Great work!")

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy