[МУЗЫКА] Здравствуйте. Мы начинаем тему «Функции и модули». Нам нужно узнать, как вообще начать работать с функциями — не с готовыми, а со своими. Поговорим, зачем нужны функции, как определить функцию, что такое входные параметры и как вызвать функцию. Зачем же нужны функции? Вспомним, у нас была задача, когда мы переводили номера телефонов из букв в цифры. У нас были номера телефонов с буквами, а мы из букв делали цифры. И тогда у нас в коде обрабатывались только буквы, соответствующие цифрам 2, 4 и 7. А если бы мы захотели обрабатывать все цифры и все буквы? Программа выглядела бы очень громоздко. Но это еще малая часть. Представим себе, что мы хотели бы обрабатывать несколько номеров и в цикле бы у нас это делать не получалось бы. Например, у нас была бы задача, связанная с обработкой посылки. У нас есть отправитель, у которого есть номер телефона и номер телефона нужно перевести из буквенного в цифровой. После этого происходит какая-то обработка информации о посылке, и наконец мы хотим получить номер телефона получателя по тому же самому алгоритму. Вместо многоточий представьте себе, что там много-много строк кода для обработки каждого варианта буквы. Очень много. А если бы у нас было еще больше номеров, например, запасной номер телефона отправителя, запасной номер телефона получателя, номер телефона курьера, это же сколько раз нам нужно было бы повторять этот длинный код с обработкой номера? Хотелось бы просто сказать компьютеру «Пожалуйста, обработай этот номер», чтобы он уже знал, что делать. Вот тут нам на помощь приходят функции. Функция — это такая часть программы, которую можно неоднократно вызывать в коде программы. Зачем это нужно? Во-первых, мы можем не повторять все инструкции заново, а во-вторых, мы можем разбивать нашу программу на маленькие части, то есть большую задачу разбивать на подзадачи. Как бы нам это научиться делать? Нам нужно научиться определять собственные функции. Мы же знаем с вами функцию print, функцию int и другие и хотим по аналогии создать какую-то свою функцию. Создать — значит, определить. Определение функции выглядит так: здесь есть ключевое слово def от слова definition (определение), потом идет название функции, обязательно после ставятся скобки, затем двоеточие и с новой строки после отступа все инструкции функции. В скобках указываются так называемые входные параметры. Помним, что если мы вызываем функцию print, мы можем в скобках передать ей название переменной или прямо саму переменную, например, hello world. Создаем свою функцию. Назовем ее (функцию обработки телефонного номера перевода букв в цифры) как phone_adaptation. На вход она будет принимать телефонный номер. Входной параметр ее — телефонный номер. И как будет работать программа? Когда программа (код) увидит слова phone_adaptation (или как одно слово phoneadaptation), будет понятно, что нужно переписать номер телефона в соответствии с инструкциями, которые указаны ниже. Давайте попробуем сделать это сами. [МУЗЫКА]