Привет! В этой статье помогу разобраться с функциями, модулями в Python, а также с тем, что такое библиотеки, как установить и пользоваться ими.
Функции и модули
Функции – это блоки кода, которые выполняют определённую задачу. Они используются для организации и структурирования кода, а также для повторного использования.
Значения в скобках – это аргументы функции. Функция add(a, b) принимает на вход два аргумента. Для аргумента b задано значение по умолчанию (0).
Если функцию вынести в отдельный файл и подключить к основной программе, она становится модулем.
Модули – это файлы Python, содержащие функции, переменные или классы.
Пример подключения модуля func_file к основной программе main.py
Импорт модулей
Можно импортировать модуль целиком и обращаться к его функциям через точку:
А можно импортировать только некоторые функции. Этот вариант наиболее предпочтительный, так как в этом случае нам не придётся хранить в памяти ненужные объекты.
Встроенные модули
При установке Python вы получаете большой набор встроенных модулей, которые можно импортировать в свой код. Стандартной библиотеке Python посвящён целый раздел документации. Мы же рассмотрим два самых популярных модуля – random и datetime.
Модуль random
Этот модуль используется для генерации случайных чисел и данных. Это может быть полезно для различных сценариев, например, случайный выбор элементов или создание случайных чисел для симуляций и тестирования.
Модуль datetime
Модуль datetime предназначен для работы с датами и временем и предоставляет, кроме функций, несколько новых типов данных. Библиотека чаще всего применяется для того, чтобы узнать текущую дату или время:
Библиотеки. Репозиторий PyPI
Встроенные модули Python предоставляют широкий спектр возможностей для разработки приложений, однако в некоторых случаях может потребоваться использование более мощных инструментов - сторонних библиотек.
Библиотека – это набор модулей, классов и функций, которые собраны для выполнения определённой задачи.
PyPI
PyPI (Python Package Index) – это центральный репозиторий для пакетов и библиотек Python. Он содержит более 200 000 пакетов, и число постоянно растёт. На PyPI можно найти пакеты для самых разных задач: от библиотек для научных вычислений до веб-фреймворков и инструментов для разработки. Более того, вы можете сами создать библиотеку и разместить её в репозитории PyPI.
Устанавливаем библиотеку «emoji»
- Перейдём на официальный сайт - https://pypi.org/
- Введём в поисковую строку название библиотеки “emoji”. После чего появится команда по установке этой библиотеки.
3. Введем команду в терминале: pip install emoji
Библиотека Emoji предоставляет разработчикам набор инструментов для работы со смайликами (emoji) в приложениях. Рассмотрим некоторые из них.
Задачи
Задача «Генератор случайных паролей»
Напишите функцию generate_password(length), которая генерирует случайный пароль заданной длины. Пароль может содержать буквы верхнего и нижнего регистра и цифры.
Разберём пример решения построчно:
Строка 1. Импортируем модуль random (целиком).
Строка 2. Из модуля string импортируем константы ascii_letters и digits.
Строка 5. Объявляем функцию generate_password(length).
Строка 6. Создаём общий список символов characters, который состоит из букв и цифр.
Строки 8-9. В цикле (length раз) выбираем случайным образом один символ из строки characters и добавляем его к паролю.
Строка 10. Возвращаем получившийся пароль.
Строки 13-15. Тестирование функции.
Задача «День недели»
Напишите программу, которая запрашивает у пользователя год, месяц и день, а затем выводит название дня недели, соответствующее этой дате.
Разберём пример решения построчно:
Строка 1. Импортируем модуль datetime и создаём ему псевдоним dt для использования более короткого названия.
Строки 3-4. Объявляем список week.
Строки 5-8. Просим пользователя ввести год, месяц, день.
Строка 11. Упаковываем переменные year, month, day в объект datetime.date.
Строка 12. Вычисляем номер дня недели.
Строка 13. Выводим день недели, соответствующий номеру, из списка week.
Задача “Определитель настроения”
Напишите функцию get_feeling(text), которая по заданному тексту может определить его настроение (позитивное, негативное или нейтральное).
Разберём построчно данное решение:
Строка 1. Импортируем библиотеку emoji.
Строка 3. Объявляем функцию get_feeling(text).
Строки 4-5. Объявляем списки слов-маркеров для поиска их в тексте.
Строка 7. Разбиваем текст на слова с помощью метода split().
Строки 9-10. Заведём переменные для подсчёта “счастливых” и “грустных” слов.
Строки 12-18. Перебираем слова из текста. Для каждого ищем вхождение в список “хороших” или “плохих” слов. Если слово оказалось “хорошим”, увеличиваем переменную positive_count, если плохим – увеличиваем negative_count.
Строки 20-26. Определяем настроение на основе подсчёта.
Строки 29-30. Тестируем работу функции.
Итоги
Сегодня мы познакомились с функциями и модулями в Python, а также узнали, как устанавливать библиотеки и использовать в коде. Для закрепления материала предлагаю решить пару задач:
- Напишите программу, которая с помощью модуля random моделирует броски монеты. Программа принимает на вход количество попыток и выводит результаты бросков: Орёл или Решка (каждое на отдельной строке).
- Напишите программу, которая запрашивает у пользователя его день рождения в формате "гггг-мм-дд", затем вычисляет количество дней до этой даты относительно текущей даты и выводит результат.