Основы Python

Теория: Необязательные параметры функций

Функции могут принимать параметры. Иногда удобно задать значение сразу в определении функции, чтобы не указывать его при каждом вызове. Такое значение называется значением по умолчанию.

Если аргумент не передан, используется это значение. Если аргумент указан, то оно заменяет умолчание.

Пример: повторение текста

Сделаем функцию, которая повторяет строку несколько раз. По умолчанию пусть будет один раз, но при желании можно указать другое количество.

def repeat(text, times=1):
    return text * times

print(repeat("Hi"))        # => Hi
print(repeat("Hi", 3))     # => HiHiHi

В этом примере используется операция умножения строки на число. Она работает так: берётся исходная строка и повторяется указанное количество раз. Например, "A" * 5 превратится в "AAAAA". Это встроенная возможность Python, которая часто применяется при генерации шаблонов, разделителей и повторяющихся фрагментов текста.

Необязательные параметры всегда указываются в конце списка параметров. Поэтому в примере сначала идёт обязательный параметр text, а уже после него — параметр times со значением по умолчанию.

Пример: склейка слов с разделителем

По умолчанию слова соединяются пробелом, но можно указать другой символ.

def join_words(word1, word2, sep=" "):
    return word1 + sep + word2

print(join_words("King", "Road"))          # => King Road
print(join_words("Dragon", "stone", "-"))  # => Dragon-stone

Пример: несколько параметров по умолчанию

Функция может содержать более одного параметра со значениями по умолчанию. Например, сделаем функцию, которая строит строку-разделитель. По умолчанию символ — это дефис, а длина — 10.

def make_line(symbol="-", length=10):
    return symbol * length

print(make_line())             # => ----------
print(make_line("*"))          # => **********
print(make_line("*", 5))       # => *****
print(make_line("#", 3))       # => ###

Рекомендуемые программы