Python/ django
58.9K subscribers
2.07K photos
61 videos
47 files
2.79K links
по всем вопросам @haarrp

@itchannels_telegram - 🔥 все ит-каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
加入频道
🖥 Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще

Sketch использует алгоритмы машинного обучения для понимания контекста пользовательских данных и предоставляет соответствующие предложения по коду. Также Sketch может автоматизировать повторяющиеся задачи, находить ошибки и предлагать исправления, анализировать кодовую базу и предлагать предложения по оптимизации.

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

SciencePlots — это библиотека, которая предоставляет стили для библиотеки Matplotlib, чтобы получить профессиональные графики для презентаций, исследовательских работ и т.д.

📎 Читать подробнее

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Автоматизируем Python скрипты с Github Actions

Держите сверхполезное видео о том, как можно автоматизировать запуск любого скрипта на удаленном сервере бесплатно и без необходимости вручную настраивать этот сервер

План
• 00:00 - Начало
• 01:04 - Про Git и Github
• 07:03 - Настраиваем телеграм
• 11:46 - Получаем погоду
• 16:47 - Запускаем бота
• 24:33 - Создаем репозиторий
• 28:23 - Автоматизируем запуск

📎 YouTube
🖥 Код из видео

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥Подборка лучших обучающих каналов для программистов.

➡️ Делитесь с коллегами и сохраняйте себе, чтобы не потерять

Машинное обучение

Machine Learning - запускаем лучшие ИИ модели, пишем код, погружаемся в нейросети
Ml Собеседование - подготовка к собесу по мл, алгоритмам, коду
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат

🏆 Golang
Golang - изучи один из самых перспективных языков на ит-рынке
Golang собеседование - разбор задач и вопросов с собесов
Golang вакансии -работа для Go разработчика
Golang книги библиотека книг
Golang задачи и тесты
Golang чат
Golang news - новости из мира go
Golang дайджест

💥 Linux /Этичный хакинг
Linux Academy - гайды, секреты и лучшие материалы по Linux
Kali linux - погрузись в мир этичного хакинга и кибербезопасности
linux_kal - kali чат
Информационная безопасность

🚀 Data Science

Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data

🛢Базы данных
Sql базы данных - научим работе с базами данных профессионально
Библиотека баз данных
SQL чат
Вакансии Sql аналитик данных

#️⃣C#

С# академия - лучший канал по c#
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа

🐍 Python

Python/django - самый крупный обучающий канал по Python
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги

Java

Java академия - java от Senior разработчика
Java вакансии
Java чат
Java вопросы с собеседований
Java книги

💻 C++

C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии

⚡️ Frontend
Javascript академия - крупнейший js канал
React - лучшие гайды и советы по работе с react
Frontend - тутрориалы, уроки, гайды, код
PHP
Книги frontend
Задачи frontend

🦀 Rust
Rust программирование
Rust чат
Rust книги для программистов

📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки

🇬🇧 Английский для программистов

🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence

🔥 DevOPs
Devops для программистов
Книги Devops

🌟 Docker/Kubernets
Docker
Kubernets

📓 Книги
Библиотеки Книг для программситов

💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
Папка Frontend
🖥 Сколько строк на C нужно, чтобы выполнить a + b в Python?

Когда мы пишем на Python код наподобие a + b, конкретное поведение операции + определяют типы a и b. Каждый тип в Python имеет собственную реализацию оператора + (если этот тип поддерживает +), и интерпретатор Python сам выбирает подходящую реализацию для вызова на основании типа операндов. Весь этот процесс называется динамической диспетчеризацией.
И перед тем, как произойдёт само действие a + b, под капотом происходит очень много всего, что и описывается в статье.

А вот схема выполнения операции a + b в Python:

Код на Python компилируется в байт-код, исполняемый стековой виртуальной машиной (VM) в CPython. Команда BINARY_OP отвечает за исполнение операции + с двумя операндами, a и b

Сама VM не знает, как выполнять + с двумя объектами. Она делегирует эту задачу абстрактному интерфейсу объектов

Абстрактный интерфейс объектов в CPython определяет интерфейс, поддерживающий стандартные операции уровня объектов в CPython. Это позволяет VM единым унифицированным образом исполнять все операторы, не зная подробностей реализации системы объектов. Абстрактный интерфейс диспетчеризирует исполнение конкретной реализации внутри типов при помощи таблицы поиска указателей функций в заголовке объекта

📎 Статья
📎 Ещё одна статья в тему

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Вычисление значения математического выражения из строки

▶️Есть строка наподобие '1/3+2/3', как видно она содержит математическое выражение.
Существует ли в Python модуль, который вычисляет значение таких выражений?

▶️С точки зрения безопасности, производительности и гибкости лучше воспользоваться numexpr
(в отличие от eval()):
# pip install numexpr

import numexpr as ne
print(ne.evaluate('1/3+2/3'))

# 1.0

Кстати, numexpr поддерживает использование переменных, поддерживает NumPy, SciPy и т.д.

📎 Здесь подробнее про данный модуль

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Невероятно полезный сборник лекций по Python 🔥

Особенно актуально будет для тех, кто занимается научными вычислениями
Темы разобраны очень подробно, даже фундаментально, я бы сказал
Охват тем вы видите ниже

Лекция №1
О python • Установка python • Python в качестве калькулятора • Скрипты python • Блокноты. Jupyter Notebooks • Основные типы объектов: числа и списки • Операторы потока управления

Лекция №2
Компилируемость vs Интерпретируемость • Динамическая типизация • Аннотация типов • Изменяемые и неизменяемый типы объектов • Создание и удаление объектов. Сборщик мусора • О коллекциях в python • Последовательности: списки, кортежи и строки

Лекция №3
Сторонние библиотеки и пакетные менеджеры • NumPy • Векторизация • Срезы • Умножение векторов • Логические операции • Векторизация на примере вычисления статистик • Случайные числа

Лекция №4
Словари. dict • Функции • Взаимодействие с файловой системой • Работа с файлами. Сериализация: json и pickle • Построение графиков и визуализация данных • Matplotlib • Настройка деталей графиков • Анимация в matplotlib

Лекция №5
Таблицы • Библиотека pandas • Столбцы в pandas • Таблицы pandas • Оперирование таблицами pandas • Дата и время • Анализ данных

Лекция №6
Основы списковых включений • Итераторы • Генераторы • Декораторы

Лекция №7
SciPy • Линейная алгебра • Дифференцирование и интегрирование функций • Поиск минимума • Решение нелинейных уравнений • Интерполяция и аппроксимация • Решение ОДУ • Обработка сигналов

Лекция №8
Пользовательские классы • Наследование • Полиморфизм в python • Перегрузка специальных методов и операторов

Лекция №9
Исключения • Пользовательские исключения • Стратегии контроля ошибок

Лекция №10
Графический пользовательский интерфейс • PySide. Основы • События • Слоты и сигналы • Виджеты и макеты • Кнопки • Вывод данных • Ввод данных • Диалоговые окна

📎 Ссылка

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Перехват исключений в Python

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

🟡Давайте рассмотрим их подробнее. Пусть у нас есть список:
lst = [1, 2, 3]
Обратимся к несуществующему элементу списка:
print(lts[4])
После выполнения кода выведется ошибка (исключение):
IndexError: list index out of range

🟡Если же нам нужно продолжить работу без вывода исключения, его следует поймать с помощью конструкции try-except. Она имеет следующий синтаксис:
try:
# код, вызывающий исключение
except:
# обработка ошибки

🟡В блоке try следует размещать код, который может содержать исключение. Если вдруг при выполнении этого кода возникнет исключительная ситуация, то выполнение кода не остановится, а перейдет в код блока except. В данном блоке следует прописать вывод сообщения, максимально точно описывающего суть возникшей ошибки.
Если же при выполнении блока try никаких исключительных ситуаций не случилось, то полезный код просто выполнится, а код из блока except - нет.

🟡Давайте отловим наше исключение при обращении к несуществующему элементу списка. Для этого в блок try поместим код с потенциальной ошибкой. А в блоке except укажем вывод в консоль сообщения 'error: elem is not exist':
lst = [1, 2, 3]
try:
print(lst[4])
except:
print('error: elem is not exist')

После выполнения кода выведется:
'error: elem is not exist'

🟡После изучения конструкции try-except стиль написанного вами кода должен измениться. Теперь все места, в которых может возникнуть исключительная ситуация, нужно оборачивать в try, а в блоке except прописывать реакцию на это исключение.

📎 Ссылка на задачи для закрепления

@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Задача о дубликатах в списке

Итак, задача: напишите функцию, которая принимает на вход несортированный связный список и удаляет из него все дубликаты.
Задачу можно решить как минимум 2 способами

🟡Движение по списку с использованием двух указателей
def remove_duplicates(first):
if not first:
return

nextone = first

while nextone:
runner = nextone
while runner.next:
if runner.next.val == nextone.val:
runner.next = runner.next.next
else:
runner = runner.next
nextone = nextone.next

return first

Функция remove_duplicates принимает на вход один аргумент first, в который мы передаем начало списка.

Далее создаем переменную nextone, которая инициализируется значением first. nextone используем для перемещения по списку, она указывает на текущий элемент. То есть эта переменная является первым указателем. Переменная runner — второй указатель.


🟡Метод с использованием хеш-таблицы

Этот подход к удалению дубликатов в связанном списке использует хеш-таблицу, чтобы отслеживать пройденные уникальные значения.
def remove_duplicates(list_head):  
if not list_head:
return

seen = set()
current = list_head
prev = None

while current:
if current.val in seen:
prev.next = current.next
else:
seen.add(current.val)
prev = current
current = current.next

return list_head

Функция remove_duplicates принимает на вход один аргумент list_head, в который мы передаем начало списка. Она проверяет, пуст ли список. Если да, она возвращает результат и завершает работу. Если в списке содержится хотя бы один элемент, функция начинает их обрабатывать.

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

📎 Подробнее

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Пет-проект на Python за 50 минут с FastAPI

Держите мощный гайд о работе с FastAPI, параллельно объясняется много важных концепций, используется библиотека Pydantic, создаётся Docker-контейнер

Туториал поможет разобраться:
• Для чего используется FastAPI
• Как написать простейшее приложение на FastAPI
• Как применять Pydantic в FastAPI
• Как работать с базой данных из FastAPI
• Как делать запросы к базе данных через паттерн репозиторий
• Что такое роутер в FastAPI
• Как развернуть FastAPI приложение через Docker
• Как развернуть FastAPI приложение на реальный сервер в облаке

📎 Туториал

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Релиз профайлера данных Desbordante 2.0.0

🟡16 апреля 2024 года состоялся второй мажорный релиз профайлера данных Desbordante, который позволяет проводить поиск различных примитивов в таблицах. Исходный код проекта опубликован на GitHub под лицензией GNU Affero General Public License v3.0. Первая стабильная версия Desbordante вышла в декабре 2023 года.

🟡Desbordante может выполнять две категории задач: поиск различных примитивов, а также выполнение какой-либо работы с использованием алгоритмов поиска примитивов. Ядро Desbordante — консольное приложение, обладающее крайне простым сценарием использования: на вход подаётся csv-таблица, указывается искомый примитив, например, функциональная зависимость, алгоритм и, опционально, параметры, а на выход выдаётся набор найденных зависимостей. Кроме того, все компоненты Desbordante контейнеризованы.

🟡В рамках продолжения развития проекта команда Desbordante выложила на GitHub новые примеры скриптов на Python. «Поскольку проект в настоящее время недостаточно документирован, мы надеемся, что это будет полезно для наших потенциальных пользователей. Вы можете ознакомиться с ними здесь. Чтобы улучшить общий уровень документации, мы также опубликовали несколько руководств — см. раздел "Руководства"», — уточнили разработчики.

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Как работает Python: интерпретатор, байт-код, PVM

Python — интерпретируемый язык программирования. Он не конвертирует свой код в машинный (в отличие от С и С++). Вместо этого, Python-интерпретатор переводит код программы в байт-код, который запускается на виртуальной машине Python (PVM).

Если интересно, как работает Python под капотом — welcome)
📎 Узнать

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM