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
Wiele argumentów funkcji
Every function in Python otrzymuje z góry określoną liczbę argumentów, jeśli została zadeklarowana normalnie, w taki sposób:
Możliwe jest zadeklarowanie funkcji, które otrzymują zmienną liczbę argumentów, używając następującej składni:
Zmienne "therest" to lista zmiennych, która otrzymuje wszystkie argumenty przekazane do funkcji "foo" po pierwszych 3 argumentach. Dlatego wywołanie foo(1, 2, 3, 4, 5)
wyświetli:
Możliwe jest także przekazywanie funkcji argumentów przez słowo kluczowe, dzięki czemu kolejność argumentów nie ma znaczenia, korzystając z następującej składni. Następujący kod daje następujący wynik:
The sum is: 6
Result: 1
Funkcja "bar" otrzymuje 3 argumenty. Jeśli otrzymany zostanie dodatkowy argument "action" i nakaże on zsumować liczby, wtedy suma zostanie wyświetlona. Alternatywnie, funkcja wie również, że musi zwrócić pierwszy argument, jeśli wartość parametru "number" przekazanego do funkcji jest równa "first".
Exercise
Wypełnij funkcje foo
i bar
tak, aby mogły otrzymać zmienną liczbę argumentów (3 lub więcej)
Funkcja foo
musi zwracać ilość dodatkowych otrzymanych argumentów.
Funkcja bar
musi zwracać True
, jeśli argument ze słowem kluczowym magicnumber
ma wartość 7, a False
w przeciwnym przypadku.
# 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!