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 bilangan argumen yang telah ditetapkan, jika diisytiharkan secara normal, seperti ini:
Adalah mungkin untuk mengisytiharkan fungsi yang menerima bilangan argumen yang berubah-ubah, menggunakan sintaks berikut:
Pembolehubah "therest" adalah senarai pembolehubah, yang menerima semua argumen yang diberikan kepada fungsi "foo" selepas 3 argumen pertama. Jadi memanggil foo(1, 2, 3, 4, 5)
akan mencetak:
Adalah juga mungkin untuk menghantar argumen fungsi dengan kata kunci, supaya urutan argumen tidak penting, menggunakan sintaks berikut. Kod berikut menghasilkan output berikut:
Fungsi "bar" menerima 3 argumen. Jika argumen "action" tambahan diterima, dan ia mengarahkan untuk menjumlahkan nombor-nombor tersebut, maka jumlahnya akan dicetak. Sebagai alternatif, fungsi ini juga tahu ia mesti mengembalikan argumen pertama, jika nilai parameter "number", yang dihantar ke fungsi, adalah sama dengan "first".
Exercise
Lengkapkan fungsi foo
dan bar
supaya mereka boleh menerima sejumlah argumen yang berubah-ubah (3 atau lebih). Fungsi foo
mesti mengembalikan jumlah argumen tambahan yang diterima. Fungsi bar
mesti 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!