Как сделать перезагрузку функции с разным количеством параметров?

Для перезагрузки функции с разным количеством параметров в Python можно воспользоваться концепцией *аргументов по умолчанию* и *аргументов по ключевому слову*.

Допустим, у нас есть функция my_function, которую мы хотим перегружать с разным количеством параметров. Мы можем определить несколько версий функции с разным количеством параметров и использовать значения параметров по умолчанию.

Пример:

def my_function(param1, param2='default_value'):
    print(param1, param2)

# Перегрузка функции с одним параметром
def my_function(param1):
    print(param1)

# Вызов функций
my_function(1)
my_function(2, 'custom_value')

Если нам необходимо определить функцию, которая принимает произвольное количество параметров, мы можем воспользоваться *args* и *kwargs*.

Пример:

def my_function(*args):
    for arg in args:
        print(arg)

# Вызов функции
my_function(1, 2, 3, 4, 5)

def my_other_function(**kwargs):
    for key, value in kwargs.items():
        print(key, value)

# Вызов функции
my_other_function(param1=1, param2=2, param3=3)

Таким образом, в Python существует несколько способов реализации перезагрузки функций с разным количеством параметров, в том числе использование значения параметров по умолчанию, аргументов по ключевому слову или *args* и *kwargs*.