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
Nhiều Đối Số Hàm
Mỗi hàm trong Python nhận một số lượng đối số được định nghĩa trước, nếu được khai báo một cách thông thường, như sau:
Có thể khai báo các hàm nhận một số lượng đối số biến động, sử dụng cú pháp như sau:
Biến "therest" là một danh sách các biến, nhận tất cả các đối số được đưa cho hàm "foo" sau 3 đối số đầu tiên. Vì thế, gọi foo(1, 2, 3, 4, 5)
sẽ cho ra kết quả:
Cũng có thể gửi các đối số hàm bằng từ khóa, để thứ tự của đối số không quan trọng, sử dụng cú pháp như sau. Mã sau đây cho ra kết quả như sau:
Hàm "bar" nhận 3 đối số. Nếu một đối số "action" bổ sung được nhận và nó chỉ dẫn việc cộng các số, thì tổng sẽ được in ra. Ngoài ra, hàm cũng biết cần phải trả về đối số thứ nhất, nếu giá trị của tham số "number", được truyền vào hàm, bằng "first".
Exercise
Điền vào các hàm foo
và bar
để chúng có thể nhận một số lượng đối số biến động (3 hoặc nhiều hơn)
Hàm foo
phải trả về số lượng các đối số bổ sung nhận được.
Hàm bar
phải trả về True
nếu đối số với từ khóa magicnumber
có giá trị là 7, và False
nếu không.
# 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!