Продолжаем изучать функции. В этой записи немного подробнее об аргументах.
Начну с того, что и так наверное понятно, но тем не менее. Функции можно ничего не передавать, можно передавать один аргумент, а можно передавать несколько аргументов перечисляя их через запятую.
Вернёмся к примеру с пробками из предыдущей записи и добавим второй аргумент – name. Заодно немного изменим функцию так, чтобы сначала добавлялось приветствие.
Теперь мы отправили функции 2 аргумента: число и строку. Функция также ждёт 2 аргумента. Сообщение о пробках сохраняется в переменной text и подставляется в результирующей строке там, где необходимо. В результате получим следующую строку:
Порядок аргументов в вызове функции и в её объявлении должны совпадать. Но этому правилу можно не следовать если именовать аргументы. Рассмотрим пример.
Результат:
Отлично! Но что делать, если функция ждёт 2 аргумента, а мы передаём 1? На этот случай существует значение по-умолчанию. Оно сделает второй аргумент необязательным. Посмотрим как это работает.
Вот так. Имя не передали, но функция не растерялась и сделала свою работу на отлично!
Ну и последний штрих. Добавим функции следующую логику: если имя не передано, то просто выведем сообщение о пробках.
Пустая строка для name необходима, чтобы второй аргумент был необязательным. Ну а во втором условии проверяем наличие какой-либо информации в name: если там пустая строка, то результатом if name будет False и функция выведет только сообщение о пробке.
Передали имя – получили приветствие, не передали – получили только сообщение о пробках.
А на этом всё. Надеюсь вам так же как и мне всё понятно, а если нет – пишите в комментариях свои вопросы, будем разбираться.