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

Argumen Fungsi Berganda


Setiap fungsi dalam Python menerima sejumlah argumen yang telah ditentukan, jika dideklarasikan secara normal, seperti ini:

def myfunction(first, second, third):
    # lakukan sesuatu dengan 3 variabel
    ...

Adalah mungkin untuk mendeklarasikan fungsi yang menerima sejumlah argumen variabel, menggunakan sintaks berikut:

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))

Variabel "therest" adalah daftar variabel, yang menerima semua argumen yang diberikan kepada fungsi "foo" setelah 3 argumen pertama. Jadi memanggil foo(1, 2, 3, 4, 5) akan mencetak:

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)

Juga memungkinkan untuk mengirim argumen fungsi dengan kata kunci, sehingga urutan argumen tidak penting, menggunakan sintaks berikut. Kode berikut menghasilkan output berikut: The sum is: 6 Result: 1

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))

Fungsi "bar" menerima 3 argumen. Jika argumen tambahan "action" diterima, dan itu menginstruksikan untuk menjumlahkan angka, maka jumlah tersebut dicetak. Sebagai alternatif, fungsi ini juga mengetahui bahwa ia harus mengembalikan argumen pertama, jika nilai parameter "number", yang diteruskan ke fungsi, sama dengan "first".

Exercise

Lengkapi fungsi foo dan bar sehingga mereka dapat menerima sejumlah argumen variabel (3 atau lebih) Fungsi foo harus mengembalikan jumlah argumen tambahan yang diterima. Fungsi bar harus mengembalikan True jika argumen dengan kata kunci magicnumber bernilai 7, dan False jika tidak.

# 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