12637
Все для python разработчиков админ - @notxxx1 @python_job_interview - Python собеседования @ai_machinelearning_big_data - машинное обучение @itchannels_telegram - 🔥лучшие ит-каналы @programming_books_it - it книги @pythonl РКН: clck.ru/3Fmy2j
Python — это не только язык для разработки, но ещё и основной инструмент для анализа данных.
Как войти в профессию наиболее быстро и качественно?
1. Изучить теорию и сразу отработать её на практике
2. Учиться у ведущих специалистов в сфере Data Science
3. Начать искать работу уже во время обучения
Чтобы вы успешно справились со всеми пунктами, ведущие аналитики из VK, Яндекс Go, Циан и JetBrains разработали курс «Аналитик данных». Программа составлена так, чтобы вы избежали распространённых ошибок новичков и быстрее прошли путь от начала учёбы до первого оффера.
С трудоустройством обязательно поможем: вместе составим сильное резюме и организуем собеседования в хорошие компании.
Записывайтесь на следующий поток: https://karpov.courses/analytics
Кстати, сейчас на курс скидка, а по промокоду PYTHON45RU для вас действует дополнительная скидка 5% до 27 сентября.
Реклама. ООО "Карпов Курсы". Erid: LjN8KSpDV
🖥 Python анализ данных с Pandas. Join, merge, concat в Pandas
• Видео
• Код из видео
• Часть 1
• Часть 2
@pro_python_code
🖥Python анализ данных с Pandas. PandaSQL
▪Видео
▪Код из видео
▪Введение в Pandas
@pro_python_code
⚡Легкий способ получать свежие обновлении и следить за трендами в разработке на вашем языке. Находите свой стек и подписывайтесь:
Data Science: t.me/data_analysis_ml
Java: t.me/javatg
Базы данных: t.me/sqlhub
Машинное обучение: t.me/ai_machinelearning_big_data
Go: t.me/Golang_google
C/C++/ t.me/cpluspluc
C#: t.me/csharp_ci
Хакинг: t.me/linuxkalii
Мобильная разработка: t.me/mobdevelop
Docker: t.me/+0WdB4uvOwCY0Mjdi
Python: t.me/pythonl
Rust: t.me/rust_code
Javascript: t.me/javascriptv
React: t.me/react_tg
PHP: t.me/phpshka
Android: t.me/android_its
Linux: t.me/+A8jY79rcyKJlYWY6
Big Data: t.me/bigdatai
Devops: t.me/devOPSitsec
Тестирование:/channel/+F9jPLmMFqq1kNTMy
Собеседования: /channel/machinelearning_interview
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
ИИ: t.me/vistehno
📕Ит-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy
🖥 Python анализ данных с Pandas.Урок 1: Введение.
▪Видео
▪Код из видео
@pro_python_code
🖥 Полный курс по библиотеке Numpy. Урок 5: Продвинутые функции.
▪Видео
▪Код из видео
▪Часть 1
▪Часть 2
▪Часть 3
▪Часть4
@pro_python_code
🐍 Как профессионально писать логи Python
В статье мы поговорим о библиотеке structlog и узнаем, как она помогает писать качественные логи. Такие логи содействуют ежедневной работе программиста и способствуют внедрению эффективных практик для обеспечения последовательного подхода к логированию во всем проекте.
Помимо этого, рассмотрим распространенные проблемы логирования и способы их решения посредством structlog. Материал будет интересен как для начинающих, так и для опытных разработчиков, поскольку данный инструмент способен кардинально изменить процесс написания логов!
Когда-то я часто пренебрегал логами и писал их только тогда, когда они помогали в среде разработки. Логи служили эффективным средством для обнаружения ошибок или проверки надлежащей работы кода, но их польза ограничивалась только локальной отладкой.
После освоения structlog я научился писать логи, которые не только помогают в повседневной работе, но и обязывают применять качественные практики для обеспечения согласованного подхода к логированию.
Как результат, упрощается парсинг логов для поставляемого приложения и улучшается мониторинг в таких инструментах, как Datadog и Grafana.
В статье я поделюсь опытом работы со structlog и продемонстрирую ее возможности на примерах. Допустим, пользователь намерен загрузить файлы, и мы уже создали конечную точку, принимающую эти запросы. В прошлом я бы написал логи таким образом: import logging
...
logging.debug("Start uploading file with name %s. Number of retries: %s", file_name, 0)
...
logging.error("Failed uploading file with name %s. Current retry: %s.", file_name, retries)
...
С данным фрагментом кода все в порядке.
СТАТЬЯ
🖥 Полный курс по библиотеке Numpy. Урок 2 Полезные функции.
▪Видео
▪Упражнения
@pro_python_code
🖥 Полный курс по библиотеке Numpy. Матрицы.
▪Видео
▪Код из видео
▪Упражнения по Numpy
@pro_python_code
🖥Многопоточный парсер на Python. ООП подход
🎞 Video
@pro_python_code
🖥 Продвинутый парсинг на Python со сменой прокси
🎞 Video
@pro_python_code
🔥 Дайджест полезных материалов из мира: Python за неделю
Почитать:
— Чтобы ускорить работу
Numba и кода NumPy, нужно понять, как работают процессоры
— Python Ice Cream: Лучший способ отладки кода
— Метаданные как обезбол при миграции
— Полное руководство по использованию нескольких баз данных в Django
— Пятифакторный тест личности — бот в Телеграм
— Как правильно дифференцировать дискретные функции (Часть 2. Все-таки, МКЭ?)
— Строим пайплайн в sсikit-learn — пошаговое руководство
— Архитектурные нюансы OpenStack. Принципы работы компонентов Nova
— Я скачал 1400+ пакетов, чтобы улучшить 1
— Структура тестового фреймворка
— Разработка RESTful API на Python с помощью HappyX
— BI-аналитика на коленке: делаем веб-аналитику в DataLens
— Курс проложит аналитик: проверьте, какими SQL-скилами вы экипированы
— SRP: Refactoring the Data Science Beyond Classes
— NumPy Tutorial #9: Array Join
— Web3.py: Desenvolvendo app clientes para Ethereum com Python
— MY NEW WEBSITE [Free AI image creator]
— Android Operating System
— Elastic D&D - Week 1 - Project Introduction
— How to use Kaggle for Climate Change studies
— Programmers need to learn "not to be the frog in the warm water"
— scraping all airconditioned from the free market sales site
— How To Install Private Git Hosted Dependencies Inside Docker Image Using SSH
Посмотреть:
🌐 Практика парсинга Python (⏱ 05:27)
🌐 Уроки Парсинга на Python Сравниваем Scrappy и bs4 (⏱ 10:06)
🌐 Большой гайд по парсингу на Python. Часть 3 Работаем с selenium (⏱ 06:14)
🌐 Уроки Golang с нуля /#24 - Тесты (⏱ 09:50)
🌐 Полный Гайд по парсингу на Python: от азов до продвинутых техниик,. Часть 1 (⏱ 07:04)
🌐 Полный Гайд по парсингу на Python: Практика. Часть 2 (⏱ 05:59)
🌐 Python для начинающих. Урок 9 | Работа со строками (⏱ 15:13)
🌐 Задание 2 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 03:46)
🌐 Задание 1 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 02:50)
🌐 Полный разбор демоверсии | ОГЭ-2024 по информатике (⏱ 00:00)
🌐 Новый оператор в Python для объединения словарей в один символ #shorts #python (⏱ 01:00)
Хорошего дня!
@pro_python_code
🛡 VineShield
Средство обфускации всех исполняемых файлов и скриптов, написанных на python 3.
▪Github
@pro_python_code
Подборка полезных фишек с кодом.
Проверка наличия элемента в множестве
Мы можем проверить, находится ли тот или иной элемент в списке с помощью оператора in:large_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
if 5 in large_list:
print("5 найден в списке.")
else:
print("5 не найден в списке.")
То же применимо и для множеств (set):
large_set = set(large_list)
if 5 in large_set:
print("5 найден в множестве.")
else:
print("5 не найден в множестве.")
Автоматическое добавление ключа словарю
Если создать словарь средствами collections.defaultdict, добавить хотя бы один элемент, а затем обратиться к несуществующему ключу:from collections import defaultdict
my_dict = defaultdict(int)
my_dict['apple'] = 3
my_dict ['banana' ] = 2
print(my_dict['orange'])
print(my_dict)
то интерпретатор самостоятельно добавит новый элемент:... 0
... defaultdict(<class 'int'>, {'apple': 3, 'banana': 2, 'orange': 0})try / except + else + finally
Мастхэв для начинающих питонистов — пара try / except, обработчик исключений. Шикарным дополнением к такому блоку является, на мой взгляд, else: он опишет поведение программы на случай других ошибок, которых может быть немало!
Более того, добавив finally, вы выполните завершающие работы, например, скомандуете выслать уведомление:try:
>>> result = 10 / 2
>>> except ZeroDivisionError:
>>> print( "Ошибка: деление на ноль невозможно.")
>>> else:
>>> print("Результат:", result)
>>> finally:
>>> print( "Программа выполнена.")
... Результат: 5.0
... Программа выполнена.
Проверка существования переменной с помощью «моржового» оператора
Если мы объявили две переменные, но не задали любой из них значение, то с помощью оператора := (Walrus Operator) можно спасти программу от падения и добавить обрабатывающую логику. В первом случае, в переменные name1, name2 мы ничего не записали, значит, программа зайдет в блок else:>>> if name == '__main__':
>>> name1, name2 = '', ''
>>>
>>> if name := name1 or name2:
>>> print(name1)
>>> print('Успешно!')
>>> else:
>>> print('Имя не найдено...')... Имя не найдено...
Во втором случае заполнена только одна из переменных, но программа отработает без ошибки:>>> if name == '__main__':
>>> name1, name2 = 'Сергей', ''
>>>
>>> if name := name1 or name2:
>>> print(name1)
>>> print('Успешно!')
>>> else:
>>> print('Имя не найдено...')
... Сергей
... Успешно!
Оператор match для проверки типа
Теперь освоение новых библиотек у вас точно ускорится.
Порой, трудно понять, какой тип данных возвращает функция или метод. В таких случаях помогают match и встроенные функции приведения к тому или иному типу данных:>>> var = 1
>>>
>>> match var:
>>> case str():
>>> print('Строковый тип')
>>> case bool():
>>> print('Булевый тип')
>>> case float():
>>> print('Число с плавающей запятой')
>>> case int():
>>> print('Целочисленный тип')
>>> case list():
>>> print('Список')
>>> case None:
>>> print("None")
>>> case _:
>>> print('Другой тип данных')... Целочисленный тип
Встроенные функции попытаются привести к своему значению переменную. Но если положить в var единицу, как примере выше, то мы минуем float().
Чтобы программа не упала, стоит заложить дальнейшую обработку var только в подходящие функции-наследнице кейсы.
Включение генераторов, сетов
В предыдущей статье с фишками я рассказывала, что есть эффективный способ генерировать списки — «списковое включение» (List Comprehension):names = ['Данил','Михаил', 'Оля'][x for x in names if"a"in x]] # Выберет имена, где есть "а"... ['Данил', 'Михаил']
Оказывается, этому поддаются и другие составные типы — генераторы и сеты.>>> s = {s*2 for s in range(10)} # Перемножит числа 1-10 на два
>>> print(s)
... {0, 2, 4, 6, 8, 10, 12, 14, 16, 18}
@pro_python_code
🖥 Python+SQL часть2 создание таблиц.
▪Видео
▪Часть 1
@pro_python_code
⬅️ Использование WebSocket с Python
Что такое WebSocket?
Обычно для обмена данными в интернете используется протокол передачи гипертекста (HTTP, HyperText Transfer Protocol). Он работает по алгоритму запрос/ответ. Когда веб-браузеру нужны данные с веб-сервера, он выполняет запрос, на который веб-сервер возвращает данные через ответ: изображение 1.
☝️Чтобы поддерживать актуальную версию веб-страницы, браузеру необходимо достаточно часто выполнять запросы для получения данных с веб-сервера.
Этот процесс называется опросом (polling). Если данные нужно обновлять постоянно, он становится чрезмерно затратным, поскольку и клиент, и сервер постоянно выполняют запросы и ответы. С другой стороны, постоянный опрос бесполезен, если данные на сервере меняются редко (или нерегулярно). Но если уменьшить частоту опроса, браузер может пропустить важные обновления данных.
Гораздо больше возможностей предлагает технология WebSocket, которая предоставляет канал связи на основе сокетов между веб-браузером и веб-сервером. Такое полностью дуплексное соединение, позволяющее и клиенту, и серверу одновременно отправлять и получать данные, весьма полезно для веб-приложений, работающих в режиме реального времени.
Алгоритм работы WebSoket показан на изображении 2.
▪Сначала веб-браузер инициирует запрос к веб-серверу, отправляя HTTP-заголовок “can we upgrade to websocket”.
▪Если веб-сервер поддерживает WebSocket, он возвращает ответ с заголовком “OK to upgrade to websocket”.
▪Затем устанавливается долговременное двунаправленное соединение с сокетом.
▪И клиент, и сервер смогут обмениваться данными, используя это сокет-соединение.
С WEBSOCKET ТАКЖЕ МОЖНО ИСПОЛЬЗОВАТЬ ДЛЯ ПОДКЛЮЧЕНИЯ К СОКЕТАМ ПОРТЫ 80 (HTTP) И 443 (HTTPS). ЭТО ПОЗВОЛЯЕТ РАБОТАТЬ С WEBSOCKET ДАЖЕ ЧЕРЕЗ ПРОКСИ-СЕРВЕР И БРАНДМАУЭР.
Создание сервера WebSocket
📌 Читать
@pro_python_code
🖥 Unicaps
Унифицированный Python API для решения CAPTCHA.
▪Github
▪Examples
@pro_python_code
🔥 Дайджест полезных материалов из мира Python за неделю
Почитать:
— Django или Fast API: выбираем Python-фреймворк для веб-разработки
— Что нового в Pandas 2.1
— Готовые скрипты Python
— Интеграция Telegram ботов в Django приложениях
— 6 развлекательных проектов на Python: от шаверма-бота до игры в слова
— 9 лучших консольных файловых менеджеров Linux
— Управление сервоприводами, часть 2. Управляем сервоприводами с помощью серво-контроллера через USB любых компьютеров
— Клонирование голоса, замена лица по фото, удаления объектов в видео и все в одном open-source проекте Wunjo AI
— Эластичный DAG или «гнём, где не гнулось»
— Как понять, что клиента пора реактивировать?
— Анализ данных с использованием библиотеки Dask
— Взгляд на телеграм-ботов изнутри
— Учим ИИ чатбота слушать и говорить
— Создание интерактивных аналитических панелей с помощью Python Streamlit
— Deploying Apps on Render
— Mastering ZIP File Handling in Python: Reading and Creating Zip Archives
— The Minion Game - HackerRank Solution Python
— Iterables and Iterators - HackerRank Solution Python
— Regex Substitution - HackerRank Solution Python
— How to Solve the "No Idea!" Challenge in Python
— 🌐 UN Goals : Education & Gender Equity ⚖️
— Starting my Journey in Open Source
— Created a toggle_state_button with PyQt5
— Accelerating Releases with Pulumi: My Proxy Project Journey
Посмотреть:
🌐 HTMX заменит Frontend?! WTF? (⏱ 12:12)
🌐 Полный курс по библиотеке Numpy. Матрицы (⏱ 11:24)
🌐 Уроки Golang с нуля /#26 - Обработка ошибок (⏱ 08:14)
🌐 Python+SQL работа с базами данных. (⏱ 11:10)
🌐 Полный курс по библиотеке Numpy. Полезные функции (⏱ 11:05)
🌐 Полный курс по библиотеке Numpy. Применение Numpy (⏱ 11:52)
🌐 Полный курс по библиотеке Numpy. Создание матриц из файла (⏱ 15:55)
🌐 Python Атоматизация отправки email с selenium (⏱ 04:59)
🌐 Полный курс по библиотеке Numpy. Продвинутые методы работы с матрицами (⏱ 07:28)
🌐 Python анализ данных с Pandas. (⏱ 17:04)
🌐 【作業配信】ろっきーさんの新ビジュアル仕上げていくぅ~!龍角散と共に・・・! (⏱ 01:34:00)
🌐 Задание 8 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 08:55)
🌐 Задание 9 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 09:11)
🌐 Задание 10 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 02:16)
🌐 Задание 11 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 04:18)
🌐 Задача с собеседования на Junior Python разработчика #shorts #python (⏱ 00:48)
🌐 Как узнать процент заряда батареи с помощью Python #shorts (⏱ 00:45)
Хорошего дня!
@pro_python_code
📹 Python+SQL работа с базами данных.
▪Видео
@pro_python_code
🖥 Полный курс по библиотеке Numpy. Урок 4: Создание матриц из файла.
▪Видео
▪Код из видео
@pro_python_code
🖥 Полный курс по библиотеке Numpy. Урок 3. Практика
▪Видео
▪Код из видео
@pro_python_code
📧Python Атоматизация отправки email с selenium
▪Видео
@pro_python_code
🔥 Дайджест полезных материалов из мира : Python за неделю
Почитать:
— Таблица-справочник – генератор DAG? А что так можно было?
— Анализ и визуализация данных с помощью библиотеки Altair
— Обнаружение meterpreter сессий в ОС Windows
— Генерация паспортных данных для обучения моделей
— Анализ музыкальных предпочтений с использованием аудиоаналитики на Python
— Классификация грибов методами ML
— Бесплатный курс VK Education: углублённый Python для студентов и недавних выпускников
— Книга «Python. Лучшие практики и инструменты. 4-е изд.»
— Нужна ли вам Kafka? Разбираемся в технологии и собираем простое приложение на базе managed-решения
— Первые шаги в ML на обучающем хакатоне: обнаружение птиц на фотографиях yolov8s + sahi
— Simple Weather notification project built with python in mobile.
— Why Java Is an Object-Oriented Programming Language?
— Elastic D&D - Week 2 - Streamlit & the Login Page
— Supervised Learning
— Understand the request - response cycle of Django.
— Guide to Data Cleaning and Preparation for Analysis using Pandas library in Python
— Unveiling the Power of the Proxy Design Pattern with a Remote API Example in Python
— "Which job sectors are witnessing a surge in demand for AI and Data Science professionals?"
— Data Science with Python and Java: A Dynamic Duo for Modern Analytics
— Comment ajouter des hyperliens à Excel avec Python
Посмотреть:
🌐 Продвинутый парсинг на Python со сменой прокси (⏱ 10:27)
🌐 Уроки Golang с нуля /#25 - Интерфейсы (⏱ 10:51)
🌐 Многопоточный парсер на Python. ООП подход (⏱ 08:24)
🌐 Задание 4 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 03:54)
🌐 Задание 5 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 07:10)
🌐 Задание 3 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 04:22)
🌐 Полный разбор демоверсии | ОГЭ-2024 по информатике (⏱ 59:45)
🌐 Python для начинающих. Урок 10 | Работа со строками (⏱ 22:48)
🌐 Задание 6 | ЕГЭ по информатике | ДЕМО-2024 (⏱ 15:06)
🌐 Анонимная, временная почта на Python для принятия кодов активации | Фриланс на Python (⏱ 13:32)
Хорошего дня!
@pro_python_code
Полезная шпаргалка состояний HTTP-запросов для тех, кто любит requests, и не только.
#http
📚7 лучших CLI-библиотек Python в 2023 году
1. Typer
Это одна из самых популярных библиотек на GitHub с более чем 10,5 тыс. звезд. Она поможет легко разрабатывать CLI-приложения, которые понравятся пользователям. Typer предоставляет простой способ создания CLI-приложений на Python благодаря автоматической справке, автоматическому заполнению и преобразованию входных и выходных данных. Эта библиотека поддерживает различные типы и стили команд и аргументов.
2. Click
Эта библиотека помогает создавать интерфейсы командной строки компонуемым способом с минимальным количеством кода. Название “Click” расшифровывается как “command line interface creation kit” (набор для создания интерфейса командной строки).
Click отличается гибкой конфигурацией и поставляется с хорошими настройками по умолчанию. Этот модуль способен сделать процесс написания инструментов командной строки быстрым и увлекательным, а также предотвратить разочарование, вызванное невозможностью реализовать задуманный API CLI.
3. Fire
Эта библиотека от Google предназначена для автоматической генерации интерфейсов командной строки из абсолютно любого объекта Python. Она предоставляет много возможностей, таких как инструмент для разработки и отладки кода Python, изучение существующего кода и превращение чужого кода в CLI, облегчение перехода между Bash и Python и многое другое.
4. Tqdm
Отображение индикатора выполнения при загрузке данных — один из распространенных способов создания хорошего пользовательского опыта. Эта библиотека предоставляет быстрый, расширяемый индикатор выполнения для Python и CLI. Tqdm использует умные алгоритмы для предсказания оставшегося времени и пропуска ненужных показов итераций, что позволяет в большинстве случаев снизить накладные расходы.
5. Plumbum
Вы когда-нибудь мечтали о том, чтобы компактность скриптов оболочки была воплощена в реальном языке программирования? Эта библиотека поможет осуществить вашу мечту. Помимо оболочкоподобного синтаксиса и удобных шорткатов, библиотека обеспечивает локальное и удаленное выполнение команд (через SSH), локальные и удаленные пути к файловой системе, упрощенное управление рабочим каталогом и средой, а также набор инструментов для программирования CLI.
6. Argcomplete
Кажется, все предпочитают автозаполнение. Это упрощает жизнь. Библиотека Argcomplete предоставляет возможность добавить заполнение вкладок в приложения CLI с автоматической генерацией скриптов завершения и хуков для различных оболочек. Она поддерживает различные режимы и конфигурации. Это особенно полезно, если программа обладает множеством опций или подпарсеров и может динамически предлагать завершения для значений аргументов/опций (например, когда пользователь просматривает ресурсы в сети).
7. Termgraph
Если нужно создавать ASCII-графику и диаграммы в CLI-приложении, то Termgraph — подходящий для этого ресурс. Как вы уже догадались, он предоставляет возможность создания ASCII-графов и диаграмм с различными типами и стилями графики и форматами данных. Termgraph поддерживает гистограммы, цветные диаграммы, эмодзи и другие типы графики.
@pro_python_code
Уроки Парсинга на Python Сравниваем Scrappy и bs4
🎞 Видео
@pro_python_code
✔️ 20 экспертных советов по эффективному использованию Python
1. Используйте списковые выражения. Списковое выражение — это лаконичный и элегантный способ создания списков на основе существующих, устраняющий необходимость в традиционных циклах for и условиях if. Освоив эту технику, вы сможете оптимизировать свой код и сделать его более читабельным.
2. Применяйте генераторы. Генераторы экономят память и позволяют выполнять итерации с большими наборами данных, не загружая все сразу в память. Они идеально подходят для сценариев, в которых оптимизация памяти имеет решающее значение.
3. Ознакомьтесь со стандартной библиотекой Python. Стандартная библиотека Python — это сокровищница готовых модулей и функций, которые могут значительно сэкономить время разработки. Ознакомьтесь со стандартной библиотекой и используйте ее возможности для таких распространенных задач, как работа со строками, управление файлами и сетевое взаимодействие.
4. Используйте менеджеры контекста с оператором with. Оператор with позволяет работать с ресурсами, требующими операций setup и teardown. Используя менеджеры контекста, вы обеспечите правильное управление ресурсами даже при возникновении исключений.
5. Применяйте декораторы для многократного использования кода. Декораторы позволяют изменять поведение функций и классов без изменения их исходного кода. Они являются бесценными инструментами для добавлении функциональности в существующий код, такой как логирование и кэширование, а также для обеспечения возможности повторного использования кода.
6. Изучите лямбда-функции. Лямбда-функции предоставляют лаконичный путь определения небольших анонимных функций. Они особенно полезны, когда нужно определить простую функцию “на лету”, без необходимости полного объявления функции.
7. Оптимизируйте производительность с помощью Cython. Cython — это расширенная версия Python, которая позволяет писать высокопроизводительный код за счет добавления статической типизации и компиляции в C. Выборочная оптимизация критических участков кода с помощью Cython позволяет добиться значительного повышения скорости.
8. Освойте регулярные выражения. Регулярные выражения представляют собой мощный механизм для сопоставления шаблонов и работы с текстом. Потратьте время на изучение регулярных выражений и используйте их возможности для решения сложных задач обработки строк. А использование ChatGPT для написания регулярных выражений, особенно сложных, значительно сэкономит время.
📌 Остальные
🖥 Большой гайд по парсингу на Python. Часть 3 Работаем с selenium
🎞 Video
@pro_python_code
🆕 Python 4.0: программирование следующего поколения
Интересные нововведения в Python 4.0
1. Улучшение производительности
Улучшение производительности Python 4.0, направленное на повышение скорости и эффективности выполнения, позволит разработчикам создавать высокопроизводительные приложения.
Основные способы улучшения производительности:
• Объемная оптимизация. Python 4.0 представляет объемные оптимизации, которые оптимизируют использование памяти, уменьшая объем памяти, занимаемый программами на Python, и повышая общую производительность.
• Параллельная обработка. Python 4.0 поддерживает параллельную обработку, обеспечивая улучшенную поддержку многопоточности и многоядерных архитектур, позволяя разработчикам использовать весь потенциал современного оборудования.
• JIT-компиляция (JIT, Just-In-Time — “оперативно”). Внедрение JIT-компиляции в Python 4.0 позволяет динамически компилировать код Python во время выполнения, что приводит к ускорению выполнения и повышению производительности.
2. Новые возможности и улучшения синтаксиса
Python 4.0 представляет несколько новых возможностей и улучшений синтаксиса, которые повышают производительность разработки и позволяют создавать более выразительный и лаконичный код.
Наиболее ощутимые дополнения:
• Стиль V — 5. Python 4.0 вводит новое соглашение о стиле, известное как V — 5, которое способствует более чистой организации кода, улучшению читабельности и согласованности в проектах.
• Стиль UV — 4. Python 4.0 также вводит соглашение о стиле UV — 4, которое фокусируется на простоте и сокращении шаблонного кода, облегчая разработчикам написание и сопровождение программ на Python.
• Расширенные подсказки типов. Python 4.0 расширяет возможности подсказок типов, позволяя разработчикам предоставлять более точные аннотации типов и обеспечивая лучшую поддержку статического анализа и инструментария.
• Расширенная стандартная библиотека. Python 4.0 обогащает стандартную библиотеку новыми модулями и функциональными возможностями, предоставляя разработчикам больше инструментов и ресурсов для решения более широкого круга задач программирования.
3. Улучшение опыта разработчиков
В Python 4.0 большое внимание уделяется оптимизации общего опыта разработчиков за счет устранения болевых точек и предоставления новых инструментов и возможностей. Самые заметные улучшения:
• Усовершенствованный инструментарий. Python 4.0 представляет новые и улучшенные инструменты для форматирования кода, линтинга, отладки и тестирования, облегчая разработчикам написание чистого и удобного кода.
• Оптимизированная упаковка и дистрибуция. Python 4.0 упрощает упаковку и дистрибуцию приложений Python, предлагая лучшую поддержку управления зависимостями, версионирования и развертывания.
• Сотрудничество в рамках сообщества. Python 4.0 способствует расширению сотрудничества членов сообщества, предоставляя улучшенную документацию, оптимизируя процесс внесения вкладов участников и способствуя созданию благоприятной и инклюзивной среды для разработчиков всех уровней.