Зарегистрируйтесь, чтобы продолжить обучение

Необязательные параметры функций Основы 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))       # => ```

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff