Редирект вывода программы
В
Контекстный менеджер принимает аргумент, в котором мы можем указать, куда должен переправляться весь вывод в последующем блоке.
Таким образом, данные из
Убедится в этом можем, открыв файл заново и прочитав оттуда данные.
#contextlib
В
contextlib
есть еще один прикольный контекстный менеджер — redirect_stdout
, позволяющий перенаправить стандартный вывод программы.Контекстный менеджер принимает аргумент, в котором мы можем указать, куда должен переправляться весь вывод в последующем блоке.
Таким образом, данные из
print()
в контекстом менеджере будут переправлены в открытый ранее файл, так как мы его передали в аргумент redirect_stdout
.Убедится в этом можем, открыв файл заново и прочитав оттуда данные.
#contextlib
➡️ Data classes
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
Python Learning 👩💻
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
•
возврат нескольких значений или словарей;•
класс данных требует минимального количества кода;•
возможность сравнения классов данных;•
возможность распечатать класс данных для отладки при помощи repr;•
снижение вероятности ошибок в связи с требованием класса данных type hints.Python Learning 👩💻
Автоматическое удаление временных файлов с помощью контекстного менеджера
При работе с временными файлами или файлами, которые нужны только во время выполнения программы, бывает полезно гарантировать их удаление после использования, чтобы не засорять файловую систему. Это можно сделать с помощью контекстного менеджера.
Этот метод позволяет удобно управлять временными файлами, гарантируя их удаление после использования, что помогает поддерживать чистоту и порядок в файловой системе.
При работе с временными файлами или файлами, которые нужны только во время выполнения программы, бывает полезно гарантировать их удаление после использования, чтобы не засорять файловую систему. Это можно сделать с помощью контекстного менеджера.
Этот метод позволяет удобно управлять временными файлами, гарантируя их удаление после использования, что помогает поддерживать чистоту и порядок в файловой системе.
🔥 Программисты, этот канал для вас! Мемы про код, баги и дедлайны, которые вы точно поймете. Ctrl+C / Ctrl+V — это не просто клавиши, а стиль жизни! 😂💻
🚀 Сделай перерыв и подпишись: t.me/memes_program
🚀 Сделай перерыв и подпишись: t.me/memes_program
🔍 Поиск по изображению
Полезное расширение для браузеров Chrome, Edge и Safari.
Позволяет сделать снимок экрана или его части, затем выполнить поиск в 45 различных поисковых системах для поиска изображений.
Также можно выполнить поиск изображения по ссылке или загруженного с компьютера. ⌨️
⚙️ GitHub/Инструкция
#soft #github
Полезное расширение для браузеров Chrome, Edge и Safari.
Позволяет сделать снимок экрана или его части, затем выполнить поиск в 45 различных поисковых системах для поиска изображений.
Также можно выполнить поиск изображения по ссылке или загруженного с компьютера. ⌨️
⚙️ GitHub/Инструкция
#soft #github
Altair
Библиотека Altair — это декларативная библиотека для создания статистических визуализаций. Она основана на спецификации Vega-Lite и позволяет создавать сложные графики с минимальным количеством кода.
Altair предоставляет простой синтаксис для создания графиков, а также интегрируется с Jupyter Notebook и JupyterLab для интерактивного отображения графиков.
Результат работы кода — столбчатая диаграмма, отображающая цены на разные виды фруктов.
Если вы хотите сохранить график в виде файла, вы можете использовать метод
*На втором изображении представлен результат работы программы.
Библиотека Altair — это декларативная библиотека для создания статистических визуализаций. Она основана на спецификации Vega-Lite и позволяет создавать сложные графики с минимальным количеством кода.
Altair предоставляет простой синтаксис для создания графиков, а также интегрируется с Jupyter Notebook и JupyterLab для интерактивного отображения графиков.
Результат работы кода — столбчатая диаграмма, отображающая цены на разные виды фруктов.
Если вы хотите сохранить график в виде файла, вы можете использовать метод
save()
.*На втором изображении представлен результат работы программы.
📣 24 лучшие библиотеки Python, с которыми вы должны познакомиться
Python имеет более ста тысяч библиотек на любой вкус, чем больше библиотек и пакетов в своем распоряжении имеет язык программирования, тем больше существует различных вариантов его использования
В данной статье мы перечислили несколько лучших библиотек для работы в Python
🖥 Читать подробнее
Python имеет более ста тысяч библиотек на любой вкус, чем больше библиотек и пакетов в своем распоряжении имеет язык программирования, тем больше существует различных вариантов его использования
В данной статье мы перечислили несколько лучших библиотек для работы в Python
🖥 Читать подробнее
This media is not supported in your browser
VIEW IN TELEGRAM
💻 8 популярных сетевых протоколов с наглядным и простым объяснением
Сетевые протоколы работают на разных уровнях модели OSI, это важно знать.
Модель OSI — концептуальная структура, которая определяет сетевую систему как ряд уровней, каждый из которых имеет определенные функции, для облегчения передачи, управления и обработки данных в сети.
Эта многоуровневая архитектура обеспечивает стандартизированное взаимодействие между различными программными и аппаратными компонентами в сети.
🖱 𝗧𝗖𝗣/𝗜𝗣 (𝗧𝗿𝗮𝗻𝘀𝗺𝗶𝘀𝘀𝗶𝗼𝗻 𝗖𝗼𝗻𝘁𝗿𝗼𝗹 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹/𝗜𝗻𝘁𝗲𝗿𝗻𝗲𝘁 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
Этот протокол является базовым методом передачи информации между устройствами в Интернете. В то время как IP отвечает за адресацию и маршрутизацию пакетов данных, TCP заботится о сборке данных в пакеты, а также о надежной доставке.
🖱 𝗛𝗧𝗧𝗣 (𝗛𝘆𝗽𝗲𝗿𝘁𝗲𝘅𝘁 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
При доступе к веб-сайтам HTTP играет решающую роль. Он отвечает за получение и доставку веб-контента с серверов конечным пользователям.
🖱 𝗛𝗧𝗧𝗣𝗦 (𝗛𝘆𝗽𝗲𝗿𝘁𝗲𝘅𝘁 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹 𝗦𝗲𝗰𝘂𝗿𝗲)
Усовершенствованная версия HTTP, HTTPS объединяет протоколы безопасности (а именно TLS) для шифрования данных, обеспечивая безопасный и конфиденциальный обмен между браузерами и веб-сайтами.
🖱 𝗙𝗧𝗣 (𝗙𝗶𝗹𝗲 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
Как следует из названия, FTP используется для передачи файлов (загрузки и скачивания) между компьютерами в сети.
🖱 𝗨𝗗𝗣 (𝗨𝘀𝗲𝗿 𝗗𝗮𝘁𝗮𝗴𝗿𝗮𝗺 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
Более оптимизированный аналог TCP, UDP передает данные без накладных расходов на установление соединения, что приводит к более быстрой передаче, но без гарантии, что данные будут доставлены или будут в порядке.
🖱 𝗦𝗠𝗧𝗣 (𝗦𝗶𝗺𝗽𝗹𝗲 𝗠𝗮𝗶𝗹 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
SMTP — движущая сила обмена электронной почтой, которая управляет форматированием, маршрутизацией и доставкой писем между почтовыми серверами.
🖱 𝗦𝗦𝗛 (𝗦𝗲𝗰𝘂𝗿𝗲 𝗦𝗵𝗲𝗹𝗹)
Secure Shell — это криптографический сетевой протокол, который обеспечивает безопасную передачу данных по незащищенной сети. Он обеспечивает безопасный канал, гарантируя, что хакеры не смогут интерпретировать информацию путем подслушивания.
#doc #cheatsheet
Сетевые протоколы работают на разных уровнях модели OSI, это важно знать.
Модель OSI — концептуальная структура, которая определяет сетевую систему как ряд уровней, каждый из которых имеет определенные функции, для облегчения передачи, управления и обработки данных в сети.
Эта многоуровневая архитектура обеспечивает стандартизированное взаимодействие между различными программными и аппаратными компонентами в сети.
🖱 𝗧𝗖𝗣/𝗜𝗣 (𝗧𝗿𝗮𝗻𝘀𝗺𝗶𝘀𝘀𝗶𝗼𝗻 𝗖𝗼𝗻𝘁𝗿𝗼𝗹 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹/𝗜𝗻𝘁𝗲𝗿𝗻𝗲𝘁 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
Этот протокол является базовым методом передачи информации между устройствами в Интернете. В то время как IP отвечает за адресацию и маршрутизацию пакетов данных, TCP заботится о сборке данных в пакеты, а также о надежной доставке.
🖱 𝗛𝗧𝗧𝗣 (𝗛𝘆𝗽𝗲𝗿𝘁𝗲𝘅𝘁 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
При доступе к веб-сайтам HTTP играет решающую роль. Он отвечает за получение и доставку веб-контента с серверов конечным пользователям.
🖱 𝗛𝗧𝗧𝗣𝗦 (𝗛𝘆𝗽𝗲𝗿𝘁𝗲𝘅𝘁 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹 𝗦𝗲𝗰𝘂𝗿𝗲)
Усовершенствованная версия HTTP, HTTPS объединяет протоколы безопасности (а именно TLS) для шифрования данных, обеспечивая безопасный и конфиденциальный обмен между браузерами и веб-сайтами.
🖱 𝗙𝗧𝗣 (𝗙𝗶𝗹𝗲 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
Как следует из названия, FTP используется для передачи файлов (загрузки и скачивания) между компьютерами в сети.
🖱 𝗨𝗗𝗣 (𝗨𝘀𝗲𝗿 𝗗𝗮𝘁𝗮𝗴𝗿𝗮𝗺 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
Более оптимизированный аналог TCP, UDP передает данные без накладных расходов на установление соединения, что приводит к более быстрой передаче, но без гарантии, что данные будут доставлены или будут в порядке.
🖱 𝗦𝗠𝗧𝗣 (𝗦𝗶𝗺𝗽𝗹𝗲 𝗠𝗮𝗶𝗹 𝗧𝗿𝗮𝗻𝘀𝗳𝗲𝗿 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹)
SMTP — движущая сила обмена электронной почтой, которая управляет форматированием, маршрутизацией и доставкой писем между почтовыми серверами.
🖱 𝗦𝗦𝗛 (𝗦𝗲𝗰𝘂𝗿𝗲 𝗦𝗵𝗲𝗹𝗹)
Secure Shell — это криптографический сетевой протокол, который обеспечивает безопасную передачу данных по незащищенной сети. Он обеспечивает безопасный канал, гарантируя, что хакеры не смогут интерпретировать информацию путем подслушивания.
#doc #cheatsheet
Быстрое объединение множества CSV файлов в один
DataFrame
Если у вас есть множество CSV файлов в одной директории, и вам нужно объединить их в один DataFrame для дальнейшего анализа, вы можете сделать это быстро с использованием библиотеки pandas и метода glob.
Этот метод позволяет значительно упростить и ускорить процесс объединения данных, особенно если у вас много файлов, и делает последующий анализ гораздо удобнее.
DataFrame
Если у вас есть множество CSV файлов в одной директории, и вам нужно объединить их в один DataFrame для дальнейшего анализа, вы можете сделать это быстро с использованием библиотеки pandas и метода glob.
Этот метод позволяет значительно упростить и ускорить процесс объединения данных, особенно если у вас много файлов, и делает последующий анализ гораздо удобнее.
Измерение времени выполнения кода с использованием контекстного менеджера
Когда вы оптимизируете свой код, важно знать, сколько времени занимает выполнение различных его частей. Вместо того чтобы вручную замерять время начала и окончания, вы можете использовать контекстный менеджер для автоматизации этого процесса.
Этот метод помогает автоматизировать замеры времени, делая код чище и удобнее для анализа производительности.
Когда вы оптимизируете свой код, важно знать, сколько времени занимает выполнение различных его частей. Вместо того чтобы вручную замерять время начала и окончания, вы можете использовать контекстный менеджер для автоматизации этого процесса.
Этот метод помогает автоматизировать замеры времени, делая код чище и удобнее для анализа производительности.
Media is too big
VIEW IN TELEGRAM
▶️ Enum | Перечисления в Python
Enum (перечисления) – это класс, который содержит константы и методы для работы с ними
Enum нужен там, где количество значений ограничено, если у вас есть 2+ констант, связанных по смыслу – это возможно хороший вариант для Enum.
⏺ Enum "ограничивает" выбор пользователя
⏺ Помогает пользователю понять возможные варианты
⏺ Позволяет легко добавлять или удалять значения
👀 Смотреть на YouTube
Enum (перечисления) – это класс, который содержит константы и методы для работы с ними
Enum нужен там, где количество значений ограничено, если у вас есть 2+ констант, связанных по смыслу – это возможно хороший вариант для Enum.
⏺ Enum "ограничивает" выбор пользователя
⏺ Помогает пользователю понять возможные варианты
⏺ Позволяет легко добавлять или удалять значения
👀 Смотреть на YouTube
➡️ Многоточие в Python
🗣️ Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python:
⚙️ Применяется он преимущественно в операциях нарезки матриц в NumPy. Однако можно использовать его вместо обычного pass в качестве плэйсхолдера в функции, которую еще не реализовали:
✔️ Вот валидный код Python, и выглядит он теперь не так уж плохо.
🗣️ Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python:
>>> ...
Ellipsis
⚙️ Применяется он преимущественно в операциях нарезки матриц в NumPy. Однако можно использовать его вместо обычного pass в качестве плэйсхолдера в функции, которую еще не реализовали:
python
def my_awesome_func():
...
✔️ Вот валидный код Python, и выглядит он теперь не так уж плохо.
Использование модуля os.path и pathlib для удобной работы с путями
Когда вы работаете с файлами и директориями, важно уметь легко и безопасно манипулировать путями к файлам. Модули os.path и pathlib в Python предоставляют удобные методы для работы с путями, объединения их, получения имени файла и расширения, а также проверки существования файла или директории.
Использование os.path и pathlib помогает сделать код более безопасным и понятным, упрощая работу с путями и снижая вероятность ошибок, связанных с неправильным использованием путей к файлам.
Когда вы работаете с файлами и директориями, важно уметь легко и безопасно манипулировать путями к файлам. Модули os.path и pathlib в Python предоставляют удобные методы для работы с путями, объединения их, получения имени файла и расширения, а также проверки существования файла или директории.
Использование os.path и pathlib помогает сделать код более безопасным и понятным, упрощая работу с путями и снижая вероятность ошибок, связанных с неправильным использованием путей к файлам.
📣 Оптимизация в Python | Эффективное использование модуля threading и asyncio
В данной статье мы погрузимся в мир многопоточности и асинхронного программирования на Python, изучая, как модуль
⏺ Рассмотрим, как правильно завершать потоки при остановке приложения, чтобы избежать утечек ресурсов.
⏺ Научимся использовать пул потоков для распределения задач, что откроет доступ к мощным методам
⏺ Увидим, как эффективно интегрировать блокирующие API ввода-вывода, например, из библиотеки
🖥 Читать подробнее
В данной статье мы погрузимся в мир многопоточности и асинхронного программирования на Python, изучая, как модуль
threading
может значительно улучшить работу с вводом-выводом. ⏺ Рассмотрим, как правильно завершать потоки при остановке приложения, чтобы избежать утечек ресурсов.
⏺ Научимся использовать пул потоков для распределения задач, что откроет доступ к мощным методам
asyncio
API, таким как gather, позволяющим дождаться результатов выполнения всех потоков. ⏺ Увидим, как эффективно интегрировать блокирующие API ввода-вывода, например, из библиотеки
requests
, в пул потоков, чтобы повысить производительность и сделать наше приложение более отзывчивым🖥 Читать подробнее
➡️ wikipedia
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
✔️ Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.
🗣️ Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate().
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
✔️ Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.
🗣️ Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate().
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрое получение основных статистических характеристик с использованием statistics или pandas
Если вам нужно получить основные статистические показатели (среднее, медиану, стандартное отклонение и т.д.) для набора данных, Python предлагает удобные инструменты для этого. Вы можете использовать модуль statistics для работы с небольшими наборами данных или pandas для анализа больших данных в DataFrame.
Использование statistics и pandas помогает упростить анализ данных и быстро получить необходимую информацию о числовом наборе, будь то список чисел или целый столбец данных в таблице.
Если вам нужно получить основные статистические показатели (среднее, медиану, стандартное отклонение и т.д.) для набора данных, Python предлагает удобные инструменты для этого. Вы можете использовать модуль statistics для работы с небольшими наборами данных или pandas для анализа больших данных в DataFrame.
Использование statistics и pandas помогает упростить анализ данных и быстро получить необходимую информацию о числовом наборе, будь то список чисел или целый столбец данных в таблице.
Использование функции functools.lru_cache для кэширования результатов функции
Когда вы работаете с функциями, которые часто вызываются с одними и теми же аргументами, вы можете значительно ускорить выполнение программы, если будете кэшировать результаты этих вызовов. Python предоставляет для этого простой и эффективный инструмент — functools.lru_cache.
Использование lru_cache помогает существенно сократить время выполнения программ, особенно в тех случаях, когда функция выполняет ресурсоемкие операции, и ее результаты можно использовать повторно.
Когда вы работаете с функциями, которые часто вызываются с одними и теми же аргументами, вы можете значительно ускорить выполнение программы, если будете кэшировать результаты этих вызовов. Python предоставляет для этого простой и эффективный инструмент — functools.lru_cache.
Использование lru_cache помогает существенно сократить время выполнения программ, особенно в тех случаях, когда функция выполняет ресурсоемкие операции, и ее результаты можно использовать повторно.
⚙️ sh
Python — отличный скриптовый язык. Но иногда стандартные библиотеки
✔️ Библиотека sh может стать приятной альтернативой. Она позволяет вызывать любую программу как обычную функцию, что полезно для автоматизации различных задач исключительно с помощью Python.
🗣️ Библиотека
🔗 Ссылочка на доку
Python — отличный скриптовый язык. Но иногда стандартные библиотеки
os
и subprocess
вызывают только головную боль.✔️ Библиотека sh может стать приятной альтернативой. Она позволяет вызывать любую программу как обычную функцию, что полезно для автоматизации различных задач исключительно с помощью Python.
🗣️ Библиотека
sh
поддерживает только платформы Linux
и macOS
; для работы на Windows
вам придётся поискать другой инструмент.🔗 Ссылочка на доку
👨💻 Дорожная карта Full-Stack разработчика
Full-stack разработчик должен владеть широким спектром технологий и инструментов в различных областях разработки программного обеспечения. Здесь представлен полный обзор технических стеков, необходимых для разработчика полного стека.
🖱 1. Фронтенд разработчик
Frontend-разработка включает в себя создание пользовательского интерфейса и пользовательского опыта веб-приложения.
🖱 2. Бэкенд разработчик
Разработка бэкенда включает в себя управление логикой на стороне сервера, базами данных и интеграцию различных сервисов.
🖱 3. Мобильная разработка
Мобильная разработка подразумевает создание приложений для мобильных устройств.
🖱 4. Облачные вычисления
Облачные вычисления подразумевают развертывание и управление приложениями на облачных платформах.
🖱 5. Разработка баз данных
Разработка баз данных включает в себя управление хранением, поиском и обработкой данных.
🖱 6. UI/UX дизайн
UI/UX-дизайн включает в себя разработку пользовательского интерфейса и опыта работы с приложениями.
🖱 7/8. Инфраструктура и DevOps
Инфраструктура и DevOps включают в себя управление инфраструктурой, развертывание и непрерывную интеграцию/непрерывную доставку (CI/CD) приложений.
#doc #cheatsheet
Full-stack разработчик должен владеть широким спектром технологий и инструментов в различных областях разработки программного обеспечения. Здесь представлен полный обзор технических стеков, необходимых для разработчика полного стека.
🖱 1. Фронтенд разработчик
Frontend-разработка включает в себя создание пользовательского интерфейса и пользовательского опыта веб-приложения.
🖱 2. Бэкенд разработчик
Разработка бэкенда включает в себя управление логикой на стороне сервера, базами данных и интеграцию различных сервисов.
🖱 3. Мобильная разработка
Мобильная разработка подразумевает создание приложений для мобильных устройств.
🖱 4. Облачные вычисления
Облачные вычисления подразумевают развертывание и управление приложениями на облачных платформах.
🖱 5. Разработка баз данных
Разработка баз данных включает в себя управление хранением, поиском и обработкой данных.
🖱 6. UI/UX дизайн
UI/UX-дизайн включает в себя разработку пользовательского интерфейса и опыта работы с приложениями.
🖱 7/8. Инфраструктура и DevOps
Инфраструктура и DevOps включают в себя управление инфраструктурой, развертывание и непрерывную интеграцию/непрерывную доставку (CI/CD) приложений.
#doc #cheatsheet