Python Education
قناة بسيطة
Обучаем Python как маленьких, так и взрослых Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Канал на бирже: telega.in/c/python_educa РКН: clck.ru/3MnbNV
إظهار المزيد8 539
المشتركون
-124 ساعات
-207 أيام
-7530 أيام
أرشيف المشاركات
8 538
Сравнение быстродействия def и lambda-функций Python. Производные функции
А производная для функции построения графика — это же самая функция с определенными аргументами.
Мы будем проверять скорость создания и скорость выполнения разного вида функций.
Вернёмся к первому. В случае проверки скорости создания функции, функция_для_замера() будет иметь одну цель — создать внутри себя def или lambda функцию. Её мы будем вызывать множество раз, и каждый раз она будет создавать одну и ту же функцию заново.
Python Education | ChatGPT | #Python
8 538
Усыпляем программу
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
Python Education | ChatGPT | #Python
8 538
Однострочный условный оператор (тернарный оператор)
В Python существует возможность использовать однострочный условный оператор, который позволяет сократить код и сделать его более лаконичным. Это особенно полезно для простых условий, которые можно выразить в одной строке.
Использование тернарного оператора позволяет упростить код, особенно когда нужно выполнить простое условие и присвоить значение одной переменной на основе этого условия.
Python Education | ChatGPT | #Python
8 538
Всего за 5 минут определите подходящую вам IT-профессию.
Онлайн-школа Skillfactory разработала уникальный профориентационный тест из 18 вопросов. Ответив на них, узнаете наиболее подходящую вам специальность.
Работайте в российских или зарубежных компаниях, в офисе или удаленно. Для айтишников — сниженная ставка по ипотеке, высокая зарплата, комфортные условия и гибкий график.
Переходите по специальной ссылке, чтобы пройти тест, получить карьерную консультацию и мини-курс для выбора профессии в IT или дизайне
Реклама. Информация о рекламодателе по ссылкам в посте.
8 538
Списковые включения
Python часто ругают за то, что он медленный. Однако в нем существует несколько подходов, которые позволяют писать достаточно быстрый код.
Например у нас есть большой список словарей (объявления контекстной рекламы). Зададим начальное время выборки и конечное.
И попробуем выбрать все объявления, ставка которых выше 600 и дата попадает в выбранный интервал. Затем возьмем первые 1000 элементов полученного списка.
Как видим этот метод работает быстрее.
Python Education | ChatGPT | #Python
8 538
Преобразование Excel XLS или XLSX в PDF в Python
Пользователи могут использовать метод Workbook.LoadFromFile(), предоставляемый Spire.XLS for Python, для загрузки файла XLS или XLSX.
Затем укажите настройки преобразования через свойства объекта Workbook.ConverterSetting.
После этого вся рабочая книга может быть преобразована в PDF с помощью метода Workbook.SaveToFile().
Python Education | ChatGPT | #Python
8 538
pathlib.PureWindowsPath()
В модуле pathlib функция pathlib.PureWindowsPath() используется для создания объекта пути Windows. Этот объект представляет собой путь в файловой системе Windows, но не выполняет никаких операций ввода-вывода.
Аргумент path может быть строкой, представляющей путь Windows, или другим объектом пути, который можно привести к типу PureWindowsPath.
Python Education | ChatGPT | #Python
8 538
Генераторные выражения
Попробуем использовать генераторные выражения (для получения среза будем использовать функцию islice из itertools, которая возвращает итератор по срезу)
Итог: увеличение производительности более чем в 3 раза.
Python Education | ChatGPT | #Python
8 538
Сравниваем 2 лица на фото с помощью Python
Для сравнения двух лиц на фото в Python можно использовать библиотеку
face_recognition.
В этом примере мы сначала загружаем изображения лиц и находим лица на изображениях с помощью функции face_locations().
Затем мы кодируем найденные лица с помощью функции face_encodings() и сравниваем их между собой с помощью функции compare_faces(). Результат сравнения - список булевых значений (True или False), которые сообщают, совпадают ли два лица на фото.
Python Education | ChatGPT | #Python8 538
Генераторные фунции
Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.
Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.
Python Education | ChatGPT | #Python
8 538
Сложение списков
Не всегда операторы в python ведут себя так, как мы привыкли. Например сложение списков.
Как видно, инструкция 28 в случае
+ простое сложение, а в случае += — сложение на месте, которое не приводит к созданию нового списка. += в данном случае сопоставим по производительности с list.extend.
Python Education | ChatGPT | #Python8 538
Метод Counter.elements()
Метод Counter.elements() возвращает итератор по элементам в словаре Counter.
Этот метод позволяет эффективно перебрать элементы словаря
Counter без создания копии.
Как видно из примера, метод elements() возвращает итератор по элементам словаря Counter в порядке их добавления.
Это позволяет эффективно обрабатывать элементы, не создавая промежуточные структуры данных.
Python Education | ChatGPT | #Python8 538
Станьте Дизайнером за 0₽
Зарплата начинающего дизайнера от 50 000₽, а стоимость обучения на профессию в онлайн-школах от 120 000 до 220 000 рублей.
Прямо сейчас GeekBrains отдают бесплатно 5 курсов по IT, в том числе и курс по дизайну.
Переходите по ссылке и забирайте курс по дизайну. Акция продлится до 8 июля: https://go.redav.online/802954da230f6090?erid=LdtCK7b7u&m=1
8 538
Анатомия декоратора в Python
Создадим декоратор
@hello_decorator.
Декоратор в Python — функция, которая принимает функцию/класс и возвращает функцию/класс. В примере декоратор hello_decorator() принимает функцию f(), и возвращает функцию wrapper().
Python Education | ChatGPT | #Python8 538
Настраиваемый логгер-декоратор
Начнем с примера использования. Так мы не перегружаем внимание внутренней сложностью и повышаем шансы создать удачный интерфейс модуля. На этом принципе основана разработка через тестирование — test-driven development (TTD).
У класса
Logger есть метод log_msg(), который можно использовать напрямую внутри функций.
Python Education | ChatGPT | #Python8 538
Метод Counter.elements()
Метод Counter.elements() возвращает итератор по элементам в словаре Counter.
Этот метод позволяет эффективно перебрать элементы словаря
Counter без создания копии.
Как видно из примера, метод elements() возвращает итератор по элементам словаря Counter в порядке их добавления.
Это позволяет эффективно обрабатывать элементы, не создавая промежуточные структуры данных.
Python Education | ChatGPT | #Python8 538
⚡️Вакцинация была смертельно опасна — предупреждал The Economist ещё в 2019 году
А ещё про СВО в 2022 и войну в Израиле в 2023. Но глупое большинство как всегда никого не слушало.
Сейчас Economist даёт прогноз на потрясения, ожидающие Россию в ИЮЛЕ, и предупреждает об эпидемии 2024 года.
Уже опубликовано пророчество ДО КОНЦА 2024, советуем почитать:
@economist
8 538
whylogs
whylogs — это библиотека для профилирования и анализа данных в Python. Она предоставляет средства для сбора статистики о данных, визуализации этой статистики и создания профилей данных для мониторинга и анализа.
Python Education | ChatGPT | #Python
8 538
Конкатенация строк
Если нужно конкатенировать список строк, сделать это можно в цикле
for, по одной добавляя строки к итоговому результату. Однако такой подход будет весьма неэффективным, особенно в том случае, если список оказывается достаточно длинным. В Python строки являются иммутабельными сущностями. В результате каждая операция по конкатенации строк означает необходимость копирования пары строк в новую строку.
Более эффективный подход к решению этой задачи заключается в использовании функции join()
Python Education | ChatGPT | #Python8 538
Асинхронный фреймворк Robyn
Robyn — это фреймворк, предназначенный для упрощения написания асинхронного кода.
Основные возможности
Robyn:
— Удобные декораторы и функции для создания асинхронных задач и работы с ними (например, rob, task, run).
— Инструменты для организации параллельного выполнения задач (decorators like parallel, chunks).
— Интеграция с asyncio для использования асинхронных библиотек.
— Удобные классы и функции для работы с очередями задач (Queue, run_every).
— Встроенные инструменты логирования и отладки.
— Поддержка типизации с помощью typing.
Python Education | ChatGPT | #Python