Разъяснивший Python
8.19K subscribers
2.42K photos
40 videos
30 files
2.27K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Упрощаем работу с SQL

Автор FastAPI придумал SQLModel, который упрощает работу с базами данных. Он объединяет в себе Pydantic и SQLAlchemy.

Установка: pip install sqlmodel

Таким образом работу с движком БД мы перекладываем на SQLAlchemy, а обработку данных, проверку и перевод в нужный тип на Pydantic.

Кстати, библиотека хорошо работает с fastapi. Вряд-ли это из-за того, что автор один и тот же.

📕 Документация

#урок
🔥14👍3👌1
Только не ругайтесь

Если я пишу слишком простой опрос, значит в нём есть подвох :). Проблема в other: Vector. Класс не знает про существование себя, поэтому выводит ошибку.

Решение есть! Просто добавьте в начале from __future__ import annotations и никаких ошибок не будет.

P.S. Если вы ответили неправильно — не парьтесь. На проблему укажет IDE. Я лишь хочу, чтобы вы могли её решить.

#объяснение
👍70🖕17🥰7🤬4💩3🌭31😁1
Перейдём к основам-основам

В Python есть два типа типов: изменяемые (list, set, dict) и неизменяемые (bool, int, float, complex, tuple, str, frozenset).

Зачем такие сложности? Неизменяемые типы сохраняют данные, не позволяя другим объектам на них повлиять.

#теория
👍39👎5🔥1
📓 Машинное обучение: основы, алгоритмы и практика применения.

• Представлены фундаментальные знания и практические инструменты в области машинного обучения, в том числе более 100 углубленных упражнений на языке Python.

• Дано введение в машинное обучение и математическую оптимизацию, включая методы первого и второго порядков, градиентного спуска и Ньютона. Приведено полное описание обучения с учителем, включая линейную регрессию, двухклассовую и многоклассовую классификацию, а также обучение без учителя и фундаментальные методы генерации признаков Дано введение в нелинейное обучение с учителем и без. Обсуждается тема автоматизированного отбора подходящих нелинейных моделей, включая перекрестную валидацию, бустирование, регуляризацию и ансамблирование. Рассмотрены фиксированно-контурные ядра, нейронные сети, деревья и другие универсальные аппроксиматоры.

🟢 Читать/скачать книгу

#RU
👍41
Булевые операции

x or y — если x правда (True), возвращает x, иначе y.

x and y — если x правда (True), возвращает y, иначе x.

#объяснение
👍67👎16🤬2
📌 Знаете, как работает словарь?

Лучше не знать. Начнём с того, что он принимает только хешируемые объекты, то есть те, у которых есть метод __hash__. Это str, tuple, frozenset и другие неизменяемые объекты.

После их запихивают в хеш-таблицу (есть на эту тему классная статья). Если просто, то это «гардеробная». Вы даёте номерок и вам выдают вещь.

#урок
👍10😁1
all и any

all(iterable) — возвращает True, если все элементы в iterable являются True. Или если iterable пуст. Документация

any(iterable) — возвращает True, если хотя бы один элемент в iterable является True. Документация

#объяснение
👍14👏1
Модули_в_python.pdf
907.3 KB
✍️ Модули, пакеты и виртуальное окружение в Python на русском

🌵 Инструкция import
🌵 Атрибуты объектов модулей
🌵 Инструкция from
🌵 Пакеты
🌵 Абсолютный и относительный импорт
🌵 Использование, создание и удаление виртуального окружения
🌵 Управление требованиями зависимостей и д.р

🙂

#doc #python #russian
👨‍💻 Перемещение файлов в Python

Для удобной манипуляции с файлами и папками в стандартной библиотеки Python существует специальный модуль shutil.

Функция shutil.move(source, destination) позволяет вам переместить любой файл или папку (даже непустую). Обратите внимание, что если destination — это уже существующая папка, то файл/папка будет перемещена внутрь неё, в остальных случаях файл/папка будут скопированы точно по нужному адресу.

В случае успеха, функция вернёт новое местоположение файла. Если destination существует и не является папкой, то будет выброшена ошибка.

#doc #python
👍5
Я знаю что так будет, но почему?

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

Во вторых, вспоминаем про булевые операции, что они могут возвращать не только True/False, а и сами значения.

#объяснение
👍13
VSCode в браузере

Если у вас слабый пк или просто лень скачивать IDE на свой пк, то можете запустить его в браузере.

Он поддерживает почти все функции десктопного редактора, так ещё может подключаться к git репозиторию и править там (если есть доступ).

Единственный недостаток — расширения. Они доступны, но с серьёзными ограничениями. Python работает, уже хорошо.

Ссылка на сайт

#другое
👍12
Разница между is и ==

Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции id().

is занимается сравниванием этих самых адресов. В то время как == вызывает функцию __eq__ и предназначения для сравнения значений класса.

Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании.

#объяснение
👍37❤‍🔥2
8 технологий, которые должен знать каждый Python-разработчик

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

Смотреть статью
👍10
Интерфейс командной строки

Самостоятельный парсинг аргументов даже с argparse вызывает трудности. Чтобы их избежать, стоит установить typer.

Установка: pip install typer

Это — интуинтивно понятный модуль для создания FAST API интерфейсов командой строки. Проще говоря, вы сможете создавать команды по типу git branch -b main.

Библиотека сама создаст usage и --help сообщения на основе документации используемых функций или переданных аргументов.

📌 Документация

#lesson
👍121
2D Game Development: From Zero To Hero
Daniele Penazzo
2022

Цель этой книги - стать организованным собранием знаний сообщества о разработке техник игр, алгоритмов и опыта.

🟢 Читать/скачать книгу

#python #eng
👍3
Про упаковку и распаковку

Распаковка задаёт переменным значения итерируемого объекта (список, кортеж, строка, генератор).

Упаковка позволяет собрать несколько значений в один список и после работать с ними.

Эти фишки делают код более красивым и элегантным, но стоит знать меру.

#объяснение
🥰23👍83
global vs nonlocal

global
— перечисленные идентификаторы стоит воспринимать как глобальные. А глобальные это те, которые доступны из любого места в модуле.

nonlocal — оператор, уведомляющий среду, что стоит работать не с локальной переменной, а уровнем выше. Часто используется с вложенными функциями.

#теория
👍24👎3
🎙 «Всё фигня, давай по новой»: почему Гвидо ван Россум создал Python

В интервью для Oxford Union Гвидо ван Россум рассказал, как пришёл в программирование, почему ему не нравились готовые языки и как он создал Python. Он рассуждает, комфортно ли работать в Google и Dropbox, в чём роль опенсорсных проектов и как IT-сообщество должно измениться, чтобы туда пришло больше женщин. Мы послушали и решили пересказать вам :)

https://skillbox.ru/media/code/vsye-fignya-davay-po-novoy-pochemu-gvido-van-rossum-sozdal-python/
👍71👎1👏1
Media is too big
VIEW IN TELEGRAM
Как и где искать работу питонисту в 2022 году?

В этом видео автор разбирает кому, как и где искать занятость в IT-индустрии на позицию Python Dev в нынешней ситуации 2022 года.

00:00 Вступление
01:18 Актуальное положение на рынке труда
01:58 Где искать вакансии и как их подбирать
04:02 Как откликнуться на вакансию
05:03 Как описывать свой опыт
06:47 Про нелеревантный опыт
07:28 Немного о статистике
07:56 Социальные сети
11:18 Профильные чаты
12:52 Новостные блоги и сайты компаний
15:35 Сарафанное радио
17:05 Частые ошибки начинающих программистов
21:51 Заключение

Смотреть это видео на youtube: youtu.be/uSpZilernog
👍52
This media is not supported in your browser
VIEW IN TELEGRAM
Drag-and-Drop на Python+OpenCV

Drag-and-Drop
— простое и уже привычное действие, которое позволяет пользователю перенести элемент с места на место на экране компьютера или мобильного устройства с помощью мыши или пальцев. Но куда интереснее сделать перетаскивание жестами рук, как в фантастических фильмах с голограммами и проекциями.

И это можно реализовать с помощью Python и машинного обучения. Как? Вот статья, где есть понятная инструкция:

https://habr.com/ru/post/679444
👍9