Упрощаем работу с SQL
Автор FastAPI придумал SQLModel, который упрощает работу с базами данных. Он объединяет в себе Pydantic и SQLAlchemy.
Установка:
Кстати, библиотека хорошо работает с
📕 Документация
#урок
Автор FastAPI придумал SQLModel, который упрощает работу с базами данных. Он объединяет в себе Pydantic и SQLAlchemy.
Установка:
pip install sqlmodel
Таким образом работу с движком БД мы перекладываем на SQLAlchemy, а обработку данных, проверку и перевод в нужный тип на Pydantic. Кстати, библиотека хорошо работает с
fastapi
. Вряд-ли это из-за того, что автор один и тот же.📕 Документация
#урок
🔥14👍3👌1
Только не ругайтесь
Если я пишу слишком простой опрос, значит в нём есть подвох :). Проблема в
Решение есть! Просто добавьте в начале
P.S. Если вы ответили неправильно — не парьтесь. На проблему укажет IDE. Я лишь хочу, чтобы вы могли её решить.
#объяснение
Если я пишу слишком простой опрос, значит в нём есть подвох :). Проблема в
other: Vector
. Класс не знает про существование себя, поэтому выводит ошибку.Решение есть! Просто добавьте в начале
from __future__ import annotations
и никаких ошибок не будет.P.S. Если вы ответили неправильно — не парьтесь. На проблему укажет IDE. Я лишь хочу, чтобы вы могли её решить.
#объяснение
👍70🖕17🥰7🤬4💩3🌭3❤1😁1
Перейдём к основам-основам
В Python есть два типа типов: изменяемые (list, set, dict) и неизменяемые (bool, int, float, complex, tuple, str, frozenset).
Зачем такие сложности? Неизменяемые типы сохраняют данные, не позволяя другим объектам на них повлиять.
#теория
В Python есть два типа типов: изменяемые (list, set, dict) и неизменяемые (bool, int, float, complex, tuple, str, frozenset).
Зачем такие сложности? Неизменяемые типы сохраняют данные, не позволяя другим объектам на них повлиять.
#теория
👍39👎5🔥1
📓 Машинное обучение: основы, алгоритмы и практика применения.
• Представлены фундаментальные знания и практические инструменты в области машинного обучения, в том числе более 100 углубленных упражнений на языке Python.
• Дано введение в машинное обучение и математическую оптимизацию, включая методы первого и второго порядков, градиентного спуска и Ньютона. Приведено полное описание обучения с учителем, включая линейную регрессию, двухклассовую и многоклассовую классификацию, а также обучение без учителя и фундаментальные методы генерации признаков Дано введение в нелинейное обучение с учителем и без. Обсуждается тема автоматизированного отбора подходящих нелинейных моделей, включая перекрестную валидацию, бустирование, регуляризацию и ансамблирование. Рассмотрены фиксированно-контурные ядра, нейронные сети, деревья и другие универсальные аппроксиматоры.
🟢 Читать/скачать книгу
#RU
• Представлены фундаментальные знания и практические инструменты в области машинного обучения, в том числе более 100 углубленных упражнений на языке Python.
• Дано введение в машинное обучение и математическую оптимизацию, включая методы первого и второго порядков, градиентного спуска и Ньютона. Приведено полное описание обучения с учителем, включая линейную регрессию, двухклассовую и многоклассовую классификацию, а также обучение без учителя и фундаментальные методы генерации признаков Дано введение в нелинейное обучение с учителем и без. Обсуждается тема автоматизированного отбора подходящих нелинейных моделей, включая перекрестную валидацию, бустирование, регуляризацию и ансамблирование. Рассмотрены фиксированно-контурные ядра, нейронные сети, деревья и другие универсальные аппроксиматоры.
🟢 Читать/скачать книгу
#RU
👍4❤1
Булевые операции
#объяснение
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
Для удобной манипуляции с файлами и папками в стандартной библиотеки Python существует специальный модуль
Функция
В случае успеха, функция вернёт новое местоположение файла. Если
#doc #python
Для удобной манипуляции с файлами и папками в стандартной библиотеки Python существует специальный модуль
shutil
. Функция
shutil.move(source, destination)
позволяет вам переместить любой файл или папку (даже непустую). Обратите внимание, что если destination
— это уже существующая папка, то файл/папка будет перемещена внутрь неё, в остальных случаях файл/папка будут скопированы точно по нужному адресу. В случае успеха, функция вернёт новое местоположение файла. Если
destination
существует и не является папкой, то будет выброшена ошибка.#doc #python
👍5
Я знаю что так будет, но почему?
Во первых вспоминаем, что значения по умолчанию генерируются только один раз и хранятся в
Во вторых, вспоминаем про булевые операции, что они могут возвращать не только True/False, а и сами значения.
#объяснение
Во первых вспоминаем, что значения по умолчанию генерируются только один раз и хранятся в
func.__defaults__
.Во вторых, вспоминаем про булевые операции, что они могут возвращать не только True/False, а и сами значения.
#объяснение
👍13
VSCode в браузере
Если у вас слабый пк или просто лень скачивать IDE на свой пк, то можете запустить его в браузере.
Он поддерживает почти все функции десктопного редактора, так ещё может подключаться к git репозиторию и править там (если есть доступ).
Единственный недостаток — расширения. Они доступны, но с серьёзными ограничениями. Python работает, уже хорошо.
Ссылка на сайт
#другое
Если у вас слабый пк или просто лень скачивать IDE на свой пк, то можете запустить его в браузере.
Он поддерживает почти все функции десктопного редактора, так ещё может подключаться к git репозиторию и править там (если есть доступ).
Единственный недостаток — расширения. Они доступны, но с серьёзными ограничениями. Python работает, уже хорошо.
Ссылка на сайт
#другое
👍12
Разница между is и ==
Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции
is занимается сравниванием этих самых адресов. В то время как == вызывает функцию
Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании.
#объяснение
Каждый объект хранится в памяти и имеет свой номер, по которому можно его найти. Этот номер можно получить с помощью функции
id()
.is занимается сравниванием этих самых адресов. В то время как == вызывает функцию
__eq__
и предназначения для сравнения значений класса.Представьте куб, а потом ещё один такой же. Они одинаковые, но это два абсолютно разных объекта. Также и в программировании.
#объяснение
👍37❤🔥2
8 технологий, которые должен знать каждый Python-разработчик
Джентльменский набор пайтон-разработчика, который пригодится вне зависимости от того, куда вы пойдете: в инжиниринг, машинное обучение или бэкенд-разработку.
Смотреть статью
Джентльменский набор пайтон-разработчика, который пригодится вне зависимости от того, куда вы пойдете: в инжиниринг, машинное обучение или бэкенд-разработку.
Смотреть статью
Библиотека программиста
🐍 8 технологий, которые должен знать каждый Python-разработчик
Джентльменский набор пайтон-разработчика, который пригодится вне зависимости от того, куда вы пойдете: в инжиниринг, машинное обучение или бэкенд-разработку.
👍10
Интерфейс командной строки
Самостоятельный парсинг аргументов даже с argparse вызывает трудности. Чтобы их избежать, стоит установить typer.
Установка:
Библиотека сама создаст usage и --help сообщения на основе документации используемых функций или переданных аргументов.
📌 Документация
#lesson
Самостоятельный парсинг аргументов даже с argparse вызывает трудности. Чтобы их избежать, стоит установить typer.
Установка:
pip install typer
Это — интуинтивно понятный модуль для создания FAST API интерфейсов командой строки. Проще говоря, вы сможете создавать команды по типу git branch -b main
.Библиотека сама создаст usage и --help сообщения на основе документации используемых функций или переданных аргументов.
📌 Документация
#lesson
👍12❤1
2D Game Development: From Zero To Hero
Daniele Penazzo
2022
Цель этой книги - стать организованным собранием знаний сообщества о разработке техник игр, алгоритмов и опыта.
🟢 Читать/скачать книгу
#python #eng
Daniele Penazzo
2022
Цель этой книги - стать организованным собранием знаний сообщества о разработке техник игр, алгоритмов и опыта.
🟢 Читать/скачать книгу
#python #eng
👍3
Про упаковку и распаковку
Распаковка задаёт переменным значения итерируемого объекта (список, кортеж, строка, генератор).
Упаковка позволяет собрать несколько значений в один список и после работать с ними.
Эти фишки делают код более красивым и элегантным, но стоит знать меру.
#объяснение
Распаковка задаёт переменным значения итерируемого объекта (список, кортеж, строка, генератор).
Упаковка позволяет собрать несколько значений в один список и после работать с ними.
Эти фишки делают код более красивым и элегантным, но стоит знать меру.
#объяснение
🥰23👍8❤3
global vs nonlocal
global — перечисленные идентификаторы стоит воспринимать как глобальные. А глобальные это те, которые доступны из любого места в модуле.
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/
В интервью для Oxford Union Гвидо ван Россум рассказал, как пришёл в программирование, почему ему не нравились готовые языки и как он создал Python. Он рассуждает, комфортно ли работать в Google и Dropbox, в чём роль опенсорсных проектов и как IT-сообщество должно измениться, чтобы туда пришло больше женщин. Мы послушали и решили пересказать вам :)
https://skillbox.ru/media/code/vsye-fignya-davay-po-novoy-pochemu-gvido-van-rossum-sozdal-python/
👍7❤1👎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
В этом видео автор разбирает кому, как и где искать занятость в 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
👍5❤2
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
Drag-and-Drop — простое и уже привычное действие, которое позволяет пользователю перенести элемент с места на место на экране компьютера или мобильного устройства с помощью мыши или пальцев. Но куда интереснее сделать перетаскивание жестами рук, как в фантастических фильмах с голограммами и проекциями.
И это можно реализовать с помощью Python и машинного обучения. Как? Вот статья, где есть понятная инструкция:
https://habr.com/ru/post/679444
👍9