def my_func(a, b=1, c=2): ...
Да, в Python можно задать несколько аргументов с значениями по умолчанию. Более того, это довольно распространённая практика для повышения гибкости функций.
Важные моменты:
Пример:
def greet(name, greeting="Hello", punctuation="!"):
"""Функция приветствует пользователя с указанным приветствием и знаком препинания."""
print(f"{greeting}, {name}{punctuation}")
greet("Alice") # Вывод: Hello, Alice!
greet("Bob", "Good morning") # Вывод: Good morning, Bob!
greet("Charlie", "Hi", "?") # Вывод: Hi, Charlie?
greet(name="David", punctuation=".") # Вывод: Hello, David. (Использование именованных аргументов)
В этом примере, аргументы greeting
и punctuation
имеют значения по умолчанию. Если они не указаны при вызове функции, используются "Hello" и "!", соответственно. Также показано использование именованных аргументов, что позволяет передавать аргументы в произвольном порядке, указывая их имена.
В общем, использование нескольких аргументов со значениями по умолчанию - мощный инструмент Python, который позволяет создавать гибкие и удобные в использовании функции.