Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
PlatformIO
PlatformIO — это мощная и гибкая платформа с открытым исходным кодом для разработки встроенного ПО, написанная на Python. Она позволяет легко создавать, компилировать, отлаживать и прошивать код для различных микроконтроллеров и плат.
#для_продвинутых
PlatformIO — это мощная и гибкая платформа с открытым исходным кодом для разработки встроенного ПО, написанная на Python. Она позволяет легко создавать, компилировать, отлаживать и прошивать код для различных микроконтроллеров и плат.
#для_продвинутых
SCons
SCons — это современная система сборки программного обеспечения, основанная на Python. Она предназначена для автоматизации процесса компиляции и сборки проектов, делая его более эффективным и надежным.
#для_продвинутых
SCons — это современная система сборки программного обеспечения, основанная на Python. Она предназначена для автоматизации процесса компиляции и сборки проектов, делая его более эффективным и надежным.
#для_продвинутых
Pyppeteer
Pyppeteer — это библиотека для управления браузером с помощью Python с использованием инструмента Puppeteer, который изначально был разработан для Node.js. Puppeteer позволяет автоматизировать взаимодействие с веб-страницами, выполнять сценарии на основе браузера, выполнять скриншоты, создавать PDF-файлы и многое другое.
Pyppeteer предоставляет Python-интерфейс для работы с Puppeteer, и, таким образом, позволяет разработчикам использовать мощные инструменты. Это особенно полезно для автоматизации тестирования веб-приложений, сбора данных с веб-сайтов и других сценариев, требующих взаимодействия с браузером.
#для_продвинутых
Pyppeteer — это библиотека для управления браузером с помощью Python с использованием инструмента Puppeteer, который изначально был разработан для Node.js. Puppeteer позволяет автоматизировать взаимодействие с веб-страницами, выполнять сценарии на основе браузера, выполнять скриншоты, создавать PDF-файлы и многое другое.
Pyppeteer предоставляет Python-интерфейс для работы с Puppeteer, и, таким образом, позволяет разработчикам использовать мощные инструменты. Это особенно полезно для автоматизации тестирования веб-приложений, сбора данных с веб-сайтов и других сценариев, требующих взаимодействия с браузером.
#для_продвинутых
VisPy
VisPy — это библиотека для визуализации данных в Python, предназначенная для создания высокопроизводительных интерактивных визуализаций. Она использует библиотеку OpenGL для рендеринга и обеспечивает доступ к графическим возможностям вашего компьютера через современный Python API.
После установки библиотеки, вы можете создать графические приложения с использованием VisPy. В примере на картинке создается окно с красным треугольником. VisPy предоставляет широкие возможности для создания 2D и 3D визуализаций, а также возможность работы с пользовательским вводом, анимациями и интерактивностью.
Вы можете найти дополнительные примеры и документацию на официальном сайте VisPy, чтобы более подробно изучить возможности этой библиотеки и начать создавать собственные визуализации.
#для_продвинутых
VisPy — это библиотека для визуализации данных в Python, предназначенная для создания высокопроизводительных интерактивных визуализаций. Она использует библиотеку OpenGL для рендеринга и обеспечивает доступ к графическим возможностям вашего компьютера через современный Python API.
После установки библиотеки, вы можете создать графические приложения с использованием VisPy. В примере на картинке создается окно с красным треугольником. VisPy предоставляет широкие возможности для создания 2D и 3D визуализаций, а также возможность работы с пользовательским вводом, анимациями и интерактивностью.
Вы можете найти дополнительные примеры и документацию на официальном сайте VisPy, чтобы более подробно изучить возможности этой библиотеки и начать создавать собственные визуализации.
#для_продвинутых
Метод isspace()
Метод
Примечание:
#для_начинающих
Метод
isspace() — это строковый метод, который используется для проверки, состоит ли строка только из пробельных символов (пробелов, символов табуляции, символов новой строки и других символов, которые считаются «пробельными» в контексте языка Python).Примечание:
isspace() не изменяет исходную строку, а просто возвращает булево значение в зависимости от условия.#для_начинающих
pgeocode
После выполнения этого кода, вы получите информацию о местоположении, связанную с указанным почтовым индексом, включая штат, город, широту и долготу и другие данные, если они доступны.
#для_продвинутых
pgeocode — это библиотека Python, которая предоставляет инструменты для выполнения геокодирования и получения информации о географических местоположениях на основе почтовых индексов (ZIP-кодов) или кодов страны. Это полезно, если вам необходимо преобразовать почтовые индексы в информацию о местоположении, такую как название страны, штата и т. д.После выполнения этого кода, вы получите информацию о местоположении, связанную с указанным почтовым индексом, включая штат, город, широту и долготу и другие данные, если они доступны.
#для_продвинутых
#вопросы_с_собеседований
Для чего используются метаклассы?
Метаклассы используются для создания классов и позволяют изменять поведение класса, модифицировать процесс его создания.
Основные случаи использования метаклассов:
— Реализация паттернов проектирования, таких как Singleton, Factory Method и другие.
— Проверка типов. Метакласс может валидировать атрибуты класса, параметры методов, выполнять инъекцию зависимостей.
— Регистрация классов. С помощью метакласса можно автоматически регистрировать создаваемые классы, например, в глобальном реестре.
— Создание протоколов и интерфейсов, похожих на языки, подобные Protocol Buffers.
— Логирование и трассировка. Метакласс позволяет следить за созданием класса и вызовами его методов.
— Расширение класса дополнительным функционалом. Добавление методов к классу через метакласс.
Для чего используются метаклассы?
Основные случаи использования метаклассов:
— Реализация паттернов проектирования, таких как Singleton, Factory Method и другие.
— Проверка типов. Метакласс может валидировать атрибуты класса, параметры методов, выполнять инъекцию зависимостей.
— Регистрация классов. С помощью метакласса можно автоматически регистрировать создаваемые классы, например, в глобальном реестре.
— Создание протоколов и интерфейсов, похожих на языки, подобные Protocol Buffers.
— Логирование и трассировка. Метакласс позволяет следить за созданием класса и вызовами его методов.
— Расширение класса дополнительным функционалом. Добавление методов к классу через метакласс.
Наткнулся на классную новость для тех, кто делает опенсорс 🚀
GitVerse (СберТех), Cloud. ru и Хабр запустили грантовую программу «Код без границ». И это не просто деньги, а полноценная поддержка проектов:
💰 финансирование для команды и железа
☁️ облачные мощности
👥 сообщество и эксперты рядом
Зачем участвовать?
— можно подтянуть свой проект и получить обратную связь от комьюнити;
— найти единомышленников или даже собрать команду;
— ну и, конечно, заявить о себе всей ИТ-тусовке.
Условия максимально простые:
1️⃣ разместить проект на GitVerse (можно импортировать с GitHub или другой платформы);
2️⃣ делиться кодом и черпать идеи у других.
Есть четыре номинации:
• AI-инновации
• Наука и образование
• Проекты для всех
• Разработка для разработчиков
⏳ Дедлайны: заявки принимают с 3 сентября по 31 октября. В ноябре — отбор, а в декабре объявят результаты.
Хватит кодить в стол — пора рассказать миру о своем проекте!
👉 Подробности и заявка
GitVerse (СберТех), Cloud. ru и Хабр запустили грантовую программу «Код без границ». И это не просто деньги, а полноценная поддержка проектов:
💰 финансирование для команды и железа
☁️ облачные мощности
👥 сообщество и эксперты рядом
Зачем участвовать?
— можно подтянуть свой проект и получить обратную связь от комьюнити;
— найти единомышленников или даже собрать команду;
— ну и, конечно, заявить о себе всей ИТ-тусовке.
Условия максимально простые:
1️⃣ разместить проект на GitVerse (можно импортировать с GitHub или другой платформы);
2️⃣ делиться кодом и черпать идеи у других.
Есть четыре номинации:
• AI-инновации
• Наука и образование
• Проекты для всех
• Разработка для разработчиков
⏳ Дедлайны: заявки принимают с 3 сентября по 31 октября. В ноябре — отбор, а в декабре объявят результаты.
Хватит кодить в стол — пора рассказать миру о своем проекте!
👉 Подробности и заявка
tell()
Метод
При открытии файла указатель текущей позиции находится в начале. По мере чтения/записи он смещается.
Чтобы узнать текущее значение этого смещения, применяется метод
Это позволяет:
— Узнать размер файла, сравнив позицию после чтения с начальной.
— Вернуться к определенной позиции с помощью
— Отслеживать прогресс обработки больших файлов.
— Получить позицию в строковых буферах и потоках байтов.
Метод
Метод
tell() используется для получения текущей позиции (смещения) при работе с файлами и файлоподобными объектами.При открытии файла указатель текущей позиции находится в начале. По мере чтения/записи он смещается.
Чтобы узнать текущее значение этого смещения, применяется метод
tell().Это позволяет:
— Узнать размер файла, сравнив позицию после чтения с начальной.
— Вернуться к определенной позиции с помощью
seek().— Отслеживать прогресс обработки больших файлов.
— Получить позицию в строковых буферах и потоках байтов.
Метод
tell() возвращает текущую позицию в файле в байтах от начала.raise
Конструкция
Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой
Например:
После генерации исключения выполнение текущего кода прерывается и происходит переход в блок try/except для обработки этой ошибки.
Если исключение не будет обработано — программа завершится с ошибкой.
В этом примере функция
Конструкция
raise используется для генерации исключений.Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой
raise.Например:
raise ValueError('Invalid value')
Здесь мы генерируем исключение ValueError с сообщением об ошибке.После генерации исключения выполнение текущего кода прерывается и происходит переход в блок try/except для обработки этой ошибки.
Если исключение не будет обработано — программа завершится с ошибкой.
В этом примере функция
calculate_discount проверяет входные данные. Если скидка меньше 0 или больше 100 — с помощью raise генерируется исключение ValueError с сообщением.Оператор pass
Оператор
Она может применяться в следующих ситуациях:
— Заглушка для незавершенных блоков кода. Если написано только определение функции или класса, но нет тела - можно вставить
— Пустые блоки в циклах. Вместо тела цикла можно написать
— Пропускать блоки кода в условных конструкциях. Если в ветви if-else ничего делать не нужно, можно использовать
— Создание абстрактных базовых классов и заготовок методов, которые будут переопределены позже в подклассах.
— Обозначение функций или классов, которые планируется реализовать в будущем.
Как видно из примера, все числа от 0 до 9 выводятся кроме 5.
#это_база
Оператор
pass — это особая конструкция, которая не делает ничего. Она может применяться в следующих ситуациях:
— Заглушка для незавершенных блоков кода. Если написано только определение функции или класса, но нет тела - можно вставить
pass, чтобы код был допустимым синтаксически.— Пустые блоки в циклах. Вместо тела цикла можно написать
pass, если на данном этапе нет необходимости выполнять какие-либо действия. — Пропускать блоки кода в условных конструкциях. Если в ветви if-else ничего делать не нужно, можно использовать
pass.— Создание абстрактных базовых классов и заготовок методов, которые будут переопределены позже в подклассах.
— Обозначение функций или классов, которые планируется реализовать в будущем.
Как видно из примера, все числа от 0 до 9 выводятся кроме 5.
#это_база
Тернарный оператор
Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.
Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку.
Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.
В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия
— Для присваивания переменной
#это_база
Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.
Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку.
Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.
В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия
a > b.— Для присваивания переменной
result одного из двух значений в зависимости от четности a.#это_база
#вопросы_с_собеседований
Зачем нужен wraps?
Декоратор functools.wraps используется для того, чтобы сохранить информацию о функции-оригинале при создании декоратора.
Когда мы создаем декоратор, он заменяет оригинальную функцию на обернутую. При этом теряется информация о названии функции, docstring и другие атрибуты.
Используя wraps, мы можем сохранить эти атрибуты. Таким образом декорированная функция будет выглядеть как оригинальная для программиста.
Это полезно для отладки и понимания кода. Например, при просмотре стека вызовов будет видно оригинальное имя функции, а не имя декоратора. При использовании help() будет выведен нужный docstring.
Зачем нужен wraps?
Когда мы создаем декоратор, он заменяет оригинальную функцию на обернутую. При этом теряется информация о названии функции, docstring и другие атрибуты.
Используя wraps, мы можем сохранить эти атрибуты. Таким образом декорированная функция будет выглядеть как оригинальная для программиста.
Это полезно для отладки и понимания кода. Например, при просмотре стека вызовов будет видно оригинальное имя функции, а не имя декоратора. При использовании help() будет выведен нужный docstring.
#вопросы_с_собеседований
Для чего могут применять конструкцию try finally без except?
Конструкция try-finally без блока except может применяться в следующих случаях:
— Для закрытия файлов после работы с ними, даже если произошла ошибка.
— Для освобождения ресурсов, таких как сетевые соединения или блокировки.
— Для отмены каких-либо длительных операций или процессов в случае прерывания работы программы. Например, отмена запущенных потоков.
— Для логирования или уведомления о завершении блока кода, даже если в нем произошла ошибка.
— Для выполнения необходимой логики по завершении работы блока кода вне зависимости от результата, например сброс счетчиков.
Для чего могут применять конструкцию try finally без except?
— Для закрытия файлов после работы с ними, даже если произошла ошибка.
— Для освобождения ресурсов, таких как сетевые соединения или блокировки.
— Для отмены каких-либо длительных операций или процессов в случае прерывания работы программы. Например, отмена запущенных потоков.
— Для логирования или уведомления о завершении блока кода, даже если в нем произошла ошибка.
— Для выполнения необходимой логики по завершении работы блока кода вне зависимости от результата, например сброс счетчиков.
Переименование файлов в Python
rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории.
Используется для переименования файлов и директорий на файловой системе. Принимает два аргумента - старое имя и новое имя и атомарно переименовывает файл за одну операцию.
Также позволяет перемещать файлы между разными директориями.
#это_база
rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории.
Используется для переименования файлов и директорий на файловой системе. Принимает два аргумента - старое имя и новое имя и атомарно переименовывает файл за одну операцию.
Также позволяет перемещать файлы между разными директориями.
#это_база