Python/ django
41.7K subscribers
1.45K photos
21 videos
46 files
2.33K links
Download 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
ИТ-специалисты, ваш выход

Выбирайте вакансию по душе, а Тинькофф обеспечит комфортные условия для работы и возможность экспериментировать в команде единомышленников. Откликнуться в команду Тинькофф

АО «Тинькофф Банк», ИНН 7710140679
🖥 Перехват исключений в 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
Если готовитесь к собесам 📈

>2320 вопросов с собеседований, по анализу данных, машинному обучению, cv, статистике, python. Вопросы разбирают сеньоры, которые сами проводят собесы и дают примеры правильных ответов

Можно сильно упростить прохождение собесов, если заранее изучить популярные вопросы 💼
Только реально вдумывайтесь в решение, а не просто заучивайте - иначе не сработает 😅

А здесь собрана целая папка для тех, кто любит машинное обучение и готовится к собесу.
👁️ EyeGestures: eye tracking software

EyeGestures - это библиотека для отслеживания движений глаз с использованием веб-камер и камер на телефонах..

Основная цель - обеспечить доступное отслеживание глаз без необходимости приобретения дорогостоящего оборудования.

Для установки и запуска EyeGestures можно использовать pip:

python3 -m pip install eyeGestures

Github

@pythonl
​​​​HTML, CSS, JS, Node.JS, 🤯 - пора бы всё объединить!

Все для изучения веба

👉 Фронтенд - самый большой канал для изучения фронта

👉 Верстка - все о верстке

👉 Node.JS - для тех кто хочет писать бэк на JS

Собрано всё, проверяй🔥
🖥 Шпаргалка по ООП в Python

Затрагивается практически всё, связанное с ООП:

Свойства / атрибуты класса
├╼ @staticmethod
├╼ @classmethod
╰╼ @property
Наследование
├╼ Определение одного родителя
├╼ Перегрузка
├╼ Множественное наследование
├╼ Mixins
├╼ Полиморфизм
├╼ super().__init__() — Инициализация из родительского класса
├╼ Хешированные объекты
╰╼ Абстрактные классы
Композиция
╰╼ Наследование vs Композиция
Дескрипторы (`__get__()`, `__set__()`, `__del__()`)
├╼ No Data Descriptor
╰╼ Data Descriptor

📎 Шпаргалка

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
27 и 28 апреля приглашаем специалистов робототехники и reinforcement learning на ROS Meetup в Москве 📅

Это возможность для робототехников всех уровней: от новичков до экспертов, — посвятить выходные практическому обучению и нетворкингу. Вы получите советы и рекомендации экспертов, сможете поделиться идеями с другими разработчиками. Доклады охватывают весь спектр тем: от ROS до reinforcement learning и антропоморфных роботов.

Инженеры и руководители компаний поделятся реальным опытом использования ROS в исследовательских и коммерческих проектах.

В этот раз мы решили разбавить технические доклады большим количеством тематических дискуссий и нетворкинга.

На какие темы будем общаться:

✔️Антропоморфные роботы
✔️ Reinforcement learning
✔️ Large Language Models, Deep learning
✔️ Беспилотные автомобили и мобильные роботы
✔️ Манипуляторы и алгоритмы в манипуляции, в том числе MOVEit
✔️ ROS-пакеты и другие темы в робототехнике

Локация: г. Москва, Кутузовский проспект 32к1, офис Сбера.

Регистрируйтесь по ссылке 👈
🖥 HTTP-запросы с использованием Aiohttp в Python

Aiohttp — это, безусловно, самый активный проект aio-libs, который, возможно, является основным вариантом использования asyncio.
Aiohttp представляет собой HTTP-клиент и сервер с поддержкой Web-Sockets и таких тонкостей, как промежуточное ПО для обработки запросов и подключаемая маршрутизация.

О том, как грамотно работать с HTTP-запросами при помощи Aiohttp и пойдёт речь в этой полезной статье.

🔜 Поехали

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