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, который позволяет создавать гибкие и удобные в использовании функции.