Найти в Дзене

Функции, модули, работа с библиотеками в Python за один урок

Привет! В этой статье помогу разобраться с функциями, модулями в Python, а также с тем, что такое библиотеки, как установить и пользоваться ими. Функции – это блоки кода, которые выполняют определённую задачу. Они используются для организации и структурирования кода, а также для повторного использования. Значения в скобках – это аргументы функции. Функция add(a, b) принимает на вход два аргумента. Для аргумента b задано значение по умолчанию (0). Если функцию вынести в отдельный файл и подключить к основной программе, она становится модулем. Модули – это файлы Python, содержащие функции, переменные или классы. Пример подключения модуля func_file к основной программе main.py Можно импортировать модуль целиком и обращаться к его функциям через точку: А можно импортировать только некоторые функции. Этот вариант наиболее предпочтительный, так как в этом случае нам не придётся хранить в памяти ненужные объекты. При установке Python вы получаете большой набор встроенных модулей, которые можн
Оглавление

Привет! В этой статье помогу разобраться с функциями, модулями в Python, а также с тем, что такое библиотеки, как установить и пользоваться ими.

Функции и модули

Функции – это блоки кода, которые выполняют определённую задачу. Они используются для организации и структурирования кода, а также для повторного использования.

Значения в скобках – это аргументы функции. Функция add(a, b) принимает на вход два аргумента. Для аргумента b задано значение по умолчанию (0).

-2

Если функцию вынести в отдельный файл и подключить к основной программе, она становится модулем.

Модули – это файлы Python, содержащие функции, переменные или классы.

Пример подключения модуля func_file к основной программе main.py

-3

Импорт модулей

Можно импортировать модуль целиком и обращаться к его функциям через точку:

-4

А можно импортировать только некоторые функции. Этот вариант наиболее предпочтительный, так как в этом случае нам не придётся хранить в памяти ненужные объекты.

-5

Встроенные модули

При установке Python вы получаете большой набор встроенных модулей, которые можно импортировать в свой код. Стандартной библиотеке Python посвящён целый раздел документации. Мы же рассмотрим два самых популярных модуля – random и datetime.

Модуль random

Этот модуль используется для генерации случайных чисел и данных. Это может быть полезно для различных сценариев, например, случайный выбор элементов или создание случайных чисел для симуляций и тестирования.

-6

Модуль datetime

Модуль datetime предназначен для работы с датами и временем и предоставляет, кроме функций, несколько новых типов данных. Библиотека чаще всего применяется для того, чтобы узнать текущую дату или время:

-7

Библиотеки. Репозиторий PyPI

Встроенные модули Python предоставляют широкий спектр возможностей для разработки приложений, однако в некоторых случаях может потребоваться использование более мощных инструментов - сторонних библиотек.

Библиотека – это набор модулей, классов и функций, которые собраны для выполнения определённой задачи.

PyPI

PyPI (Python Package Index) – это центральный репозиторий для пакетов и библиотек Python. Он содержит более 200 000 пакетов, и число постоянно растёт. На PyPI можно найти пакеты для самых разных задач: от библиотек для научных вычислений до веб-фреймворков и инструментов для разработки. Более того, вы можете сами создать библиотеку и разместить её в репозитории PyPI.

Устанавливаем библиотеку «emoji»

  1. Перейдём на официальный сайт - https://pypi.org/
  2. Введём в поисковую строку название библиотеки “emoji”. После чего появится команда по установке этой библиотеки.
-8

3. Введем команду в терминале: pip install emoji

-9

Библиотека Emoji предоставляет разработчикам набор инструментов для работы со смайликами (emoji) в приложениях. Рассмотрим некоторые из них.

-10

Задачи

Задача «Генератор случайных паролей»

Напишите функцию generate_password(length), которая генерирует случайный пароль заданной длины. Пароль может содержать буквы верхнего и нижнего регистра и цифры.

-11

Разберём пример решения построчно:

Строка 1. Импортируем модуль random (целиком).

Строка 2. Из модуля string импортируем константы ascii_letters и digits.

Строка 5. Объявляем функцию generate_password(length).

Строка 6. Создаём общий список символов characters, который состоит из букв и цифр.

Строки 8-9. В цикле (length раз) выбираем случайным образом один символ из строки characters и добавляем его к паролю.

Строка 10. Возвращаем получившийся пароль.

Строки 13-15. Тестирование функции.

Задача «День недели»

Напишите программу, которая запрашивает у пользователя год, месяц и день, а затем выводит название дня недели, соответствующее этой дате.

-12

Разберём пример решения построчно:

Строка 1. Импортируем модуль datetime и создаём ему псевдоним dt для использования более короткого названия.

Строки 3-4. Объявляем список week.

Строки 5-8. Просим пользователя ввести год, месяц, день.

Строка 11. Упаковываем переменные year, month, day в объект datetime.date.

Строка 12. Вычисляем номер дня недели.

Строка 13. Выводим день недели, соответствующий номеру, из списка week.

Задача “Определитель настроения”

Напишите функцию get_feeling(text), которая по заданному тексту может определить его настроение (позитивное, негативное или нейтральное).

-13

Разберём построчно данное решение:

Строка 1. Импортируем библиотеку emoji.

Строка 3. Объявляем функцию get_feeling(text).

Строки 4-5. Объявляем списки слов-маркеров для поиска их в тексте.

Строка 7. Разбиваем текст на слова с помощью метода split().

Строки 9-10. Заведём переменные для подсчёта “счастливых” и “грустных” слов.

Строки 12-18. Перебираем слова из текста. Для каждого ищем вхождение в список “хороших” или “плохих” слов. Если слово оказалось “хорошим”, увеличиваем переменную positive_count, если плохим – увеличиваем negative_count.

Строки 20-26. Определяем настроение на основе подсчёта.

Строки 29-30. Тестируем работу функции.

Итоги

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

  1. Напишите программу, которая с помощью модуля random моделирует броски монеты. Программа принимает на вход количество попыток и выводит результаты бросков: Орёл или Решка (каждое на отдельной строке).
  2. Напишите программу, которая запрашивает у пользователя его день рождения в формате "гггг-мм-дд", затем вычисляет количество дней до этой даты относительно текущей даты и выводит результат.

Другие статьи автора