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

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Что ещё за Ellipsis?

Ellipsis
, в переводе с английского — многоточие. Теперь, думаю, нет вопросов, почему "..." и Ellipsis это одно и то же.

Используется переменная для расширения возможностей срезов, за счёт изменения метода __getitem__.

Зачем? Она используется в numpy. Может быть индикатором того, что тут код надо ещё написать. Или использоваться в аннотации типов.

#теория
👍13
🎳 9 первоклассных функций Pandas Python для работы с данными

🐼
В статье я поделюсь простыми, но очень эффективными приемами, которые превратят процесс программирования в удовольствие. Именно благодаря этим первоклассным функциям Pandas так полюбилась ученым по данным и инженерам МО.

https://nuancesprog.ru/p/14300/
👍5🥰3
for...else

Если вы думали, что else есть только у if, то вынужден вас огорчить. Оно встречается и у try, и у for.

Блок else выполняется если цикл завершился нормально, то есть не был остановлен с помощью оператора break.

Хочу заметить, что continue никак не влияют на блок else, только оператор break имеет значение.

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

#теория
👍51🤔5🤯3👎2
pickle_—_Сериализация_Python_объекта_Python_3.pdf
1.1 MB
💾 Гайд по модулю pickle в Python на русском

Реализует двоичные протоколы для сериализации и десериализации структуры Python объекта.

Часто используется при сохранении и дальнейшем использовании cookie файлов на сайтах.

#doc #python #russian
👍8
Лямбда-функция

Слово lambda позволяет запихнуть простую функцию в одну строку. Часто используется вместе с map(), filter().

Но будьте осторожны, некоторые питонисты не любят функциональщину... Я в том числе.

#теория
👍36👏3😁3
Упрощаем работу с 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