Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
6️⃣📛 6 неявных ошибок новичков в Pandas
Все мы привыкли к ярким и заметным сообщениям об ошибках, которые маячат у нас перед глазами, пока мы пишем код.
Но что делать с теми ошибками, что не видны сразу?
👆🏻Читать
#python
Все мы привыкли к ярким и заметным сообщениям об ошибках, которые маячат у нас перед глазами, пока мы пишем код.
Но что делать с теми ошибками, что не видны сразу?
👆🏻Читать
#python
itProger - Сообщество программистов
6 неявных ошибок новичков в Pandas - статья на itProger
Все мы привыкли к ярким и заметным сообщениям об ошибках, которые маячат у нас перед глазами, пока мы пишем код. Но что делать с теми ошибками, что не видны сразу? ⚡ Информационные статьи и интересные новости из мира IT на сайте школы программирования itProger
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🦕🧑🏻🌾 Курс по Django 3
▪️1. Что такое Django. Курс по изучению Django 3
▪️2. Установка django 3. How install django 3
▪️3. Введение в командную строку. Начало работы с терминалом Django
▪️4. Создание проекта на Django.
Django start project
▪️5. Состав проекта Django
▪️6. Запускаем локальный сервер разработки Django. Run server django
📺 Просмотр
#python
▪️1. Что такое Django. Курс по изучению Django 3
▪️2. Установка django 3. How install django 3
▪️3. Введение в командную строку. Начало работы с терминалом Django
▪️4. Создание проекта на Django.
Django start project
▪️5. Состав проекта Django
▪️6. Запускаем локальный сервер разработки Django. Run server django
📺 Просмотр
#python
YouTube
Курс по Django 3
Share your videos with friends, family, and the world
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
Стандартная_библиотека_Python_3_Справочник_с_примерами.pdf
47 MB
📙 Даг Хеллман «Стандартная библиотека Python 3. Справочник с примерами»
В книге имеются готовые примеры кода, предназначенного для работы с текстом, структурами данных, значениями даты и времени, файловой системой, процессами, потоками, электронной почтой, пакетами и другими ресурсами.
Каждому модулю посвящен отдельный раздел, содержащий ссылки на дополнительные ресурсы, что делает эту книгу идеальным учебным и справочным руководством.
#python
В книге имеются готовые примеры кода, предназначенного для работы с текстом, структурами данных, значениями даты и времени, файловой системой, процессами, потоками, электронной почтой, пакетами и другими ресурсами.
Каждому модулю посвящен отдельный раздел, содержащий ссылки на дополнительные ресурсы, что делает эту книгу идеальным учебным и справочным руководством.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
📊📝Шпаргалка по Pandas
Эта библиотека для анализа данных прекрасно себя зарекомендовала в Data Science.
Такая шпаргалка поможет в построении различных диаграмм с использованием pandas.
#python
Эта библиотека для анализа данных прекрасно себя зарекомендовала в Data Science.
Такая шпаргалка поможет в построении различных диаграмм с использованием pandas.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🔁🔄 Фишки и лайфхаки для циклов
Python является одновременно традиционным и нетрадиционным, когда речь идет о синтаксисе циклов.
В этом языке нет традиционной структуры
Тем не менее, написать хороший цикл – не всегда простая задача, но есть несколько фишек и лайфхаков, о которых надо знать.
#python
Python является одновременно традиционным и нетрадиционным, когда речь идет о синтаксисе циклов.
В этом языке нет традиционной структуры
for(init; condition; incrment)
из трех частей, и потому циклы тут выглядят проще. Тем не менее, написать хороший цикл – не всегда простая задача, но есть несколько фишек и лайфхаков, о которых надо знать.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🅾️🆖 Про О-нотацию
Про логарифмическую сложность, квадратичную, экспоненциальную и другие типы.
🟢 Сложность O(n log n)
Фактически, все эффективные алгоритмы сортировки представляют собой O(n log n) сложность: сортировка слиянием (merge), пирамидальная сортировка (heap), быстрая сортировка, а еще Timsort (изобретенный Тимом Питерсом алгоритм, который используется методом
Например, отсортировать
🔵 Сложность O(n^2)
Если требуется найти повторяющиеся книги на несортированной полке, это уже квадратичная сложность. Например, на полке стоят 100 несортированных книг, мы берем одну и ищем дубли среди остальных 99, потом берём другую и снова проверяем оставшиеся. Очень затратно: проверка 100 книг займёт 100 × 100, или 10 000 шагов, причем проверка 200 займёт уже 40 000 шагов - в четыре раза больше.
В реальном мире, именно для этого нам необходимо знание
Итак, остались те, чьи имена нельзя произносить: экспоненциальная
🟣 Сложность O(2^n)
Допустим, на полке 2 книги, и мы будем собирать все возможные комбинации книг: первая комбинация - пустая полка, вторая - книга A, третья - книга B и последняя - обе книги на полке. Для 3 книг получим уже 8 комбинаций. Так вот, это - экспоненциальный алгоритм. Причем, обратите внимание, нас интересуют не перестановки, а только комбинации.
🔴 Сложность O(n!)
Перестановки, как раз, будут отвечать за факториальную сложность: если у нас на полке
И оба этих алгоритма крайне плохо масштабируются: даже для малых
💡 Наконец переходим от теории к практике!
Что из себя представляет каждый из алгоритмов мы рассмотрели, практически, под лупой. Мы также понимаем, как увеличение входных данных (количества книг) повлияет на каждый из них. Давайте скорее посмотрим как это применить к настоящему коду, а не книгам.
Грубо говоря, существует несколько «контрольных» точек, которые могут нам помочь определить большую
1. Если код не оперирует входными данными, это
2. Если код итерируется по данным, это
3. Два вложенных цикла, каждый из которых проходит по входным данным, дают сложность
4. Простой вызов функции не считается отдельным шагом, считаем только шаги внутри функции.
5. Если в коде есть конструкция «разделяй и властвуй», это
6. Если «разделяй и властвуй» выполняется для каждого элемента во входных данных, это
7. Если код проходит по каждой возможной комбинации значений в
8. Если рассматриваются все возможные перестановки значений в данных, это
9. Если код предполагает сортировку данных, это будет как минимум
В целом, это хорошие ориентиры, но они не заменяют фактический анализ кода (чем мы, кстати, и займемся в заключительном посте по сложности алгоритмов). И, конечно же, напоминаем,
❓Уже зная некоторые флаги, как вы думаете, какая сложность у этих методов python?
- .append()
- .insert()
- .remove()
- .sort()
- цикл for
#python
Про логарифмическую сложность, квадратичную, экспоненциальную и другие типы.
🟢 Сложность O(n log n)
Фактически, все эффективные алгоритмы сортировки представляют собой O(n log n) сложность: сортировка слиянием (merge), пирамидальная сортировка (heap), быстрая сортировка, а еще Timsort (изобретенный Тимом Питерсом алгоритм, который используется методом
sort()
в Python). Например, отсортировать
n
книг в алфавитном порядке, как раз, представляет O(n log n)
сложность.🔵 Сложность O(n^2)
Если требуется найти повторяющиеся книги на несортированной полке, это уже квадратичная сложность. Например, на полке стоят 100 несортированных книг, мы берем одну и ищем дубли среди остальных 99, потом берём другую и снова проверяем оставшиеся. Очень затратно: проверка 100 книг займёт 100 × 100, или 10 000 шагов, причем проверка 200 займёт уже 40 000 шагов - в четыре раза больше.
В реальном мире, именно для этого нам необходимо знание
BIG O
. Чтобы не писать алгоритм O(n^2), когда можно было написать O(n log n) или O(n).Итак, остались те, чьи имена нельзя произносить: экспоненциальная
O(2^n)
и факториальная сложность O(n!)
. 🟣 Сложность O(2^n)
Допустим, на полке 2 книги, и мы будем собирать все возможные комбинации книг: первая комбинация - пустая полка, вторая - книга A, третья - книга B и последняя - обе книги на полке. Для 3 книг получим уже 8 комбинаций. Так вот, это - экспоненциальный алгоритм. Причем, обратите внимание, нас интересуют не перестановки, а только комбинации.
🔴 Сложность O(n!)
Перестановки, как раз, будут отвечать за факториальную сложность: если у нас на полке
3
книги, все варианты перестановок - 3!
. И оба этих алгоритма крайне плохо масштабируются: даже для малых
n
они быстро становятся невыполнимыми за разумное время.💡 Наконец переходим от теории к практике!
Что из себя представляет каждый из алгоритмов мы рассмотрели, практически, под лупой. Мы также понимаем, как увеличение входных данных (количества книг) повлияет на каждый из них. Давайте скорее посмотрим как это применить к настоящему коду, а не книгам.
Грубо говоря, существует несколько «контрольных» точек, которые могут нам помочь определить большую
О
. Учитывая, что n
- это размер входных данных, можно сказать:1. Если код не оперирует входными данными, это
O(1)
.2. Если код итерируется по данным, это
O(n)
.3. Два вложенных цикла, каждый из которых проходит по входным данным, дают сложность
O(n^2)
.4. Простой вызов функции не считается отдельным шагом, считаем только шаги внутри функции.
5. Если в коде есть конструкция «разделяй и властвуй», это
O(log n)
.6. Если «разделяй и властвуй» выполняется для каждого элемента во входных данных, это
O(nlog n)
.7. Если код проходит по каждой возможной комбинации значений в
n
данных, это O(2^n)
или другая экспоненциальная сложность (3^n, 4^n…)
.8. Если рассматриваются все возможные перестановки значений в данных, это
O(n!)
.9. Если код предполагает сортировку данных, это будет как минимум
O(nlog n)
.В целом, это хорошие ориентиры, но они не заменяют фактический анализ кода (чем мы, кстати, и займемся в заключительном посте по сложности алгоритмов). И, конечно же, напоминаем,
О - нотация
сообщает нам о том, насколько сильно усложняется процесс вычисления при увеличении входных данных. И ни в коем случае не выносит заключений о том, является ли код быстрым или медленным, эффективным или нет.❓Уже зная некоторые флаги, как вы думаете, какая сложность у этих методов python?
- .append()
- .insert()
- .remove()
- .sort()
- цикл for
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🌀🅾️ Абстракция в ООП
Представьте, что водитель едет в нашей машине по оживлённому участку движения.
Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерён в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться).
Однако, руль, педали, указатель поворота (ну и, возможно, пепельницу) он будет использовать регулярно.
Абстрагирование – это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция – это набор всех таких характеристик.
Если бы для моделирования поведения автомобиля приходилось учитывать химический состав краски кузова и удельную теплоёмкость лампочки подсветки номеров, мы никогда бы не узнали, что такое NFS.
#python
Представьте, что водитель едет в нашей машине по оживлённому участку движения.
Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерён в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться).
Однако, руль, педали, указатель поворота (ну и, возможно, пепельницу) он будет использовать регулярно.
Абстрагирование – это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция – это набор всех таких характеристик.
Если бы для моделирования поведения автомобиля приходилось учитывать химический состав краски кузова и удельную теплоёмкость лампочки подсветки номеров, мы никогда бы не узнали, что такое NFS.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🎊🎐 Скрытые сокровища Python - трюки
Изучая документацию Python для собственного удовольствия, можно найти трюки, которые обязательно ускользнут от вашего внимания в программистской рутине.
Рассказываем о наиболее любопытных из них.
👆🏻Читать
#python
Изучая документацию Python для собственного удовольствия, можно найти трюки, которые обязательно ускользнут от вашего внимания в программистской рутине.
Рассказываем о наиболее любопытных из них.
👆🏻Читать
#python
Telegraph
Скрытые сокровища Python
Питонизм Изучая документацию Python для собственного удовольствия, можно найти трюки, которые обязательно ускользнут от вашего внимания в программистской рутине. Рассказываем о наиболее любопытных из них. У меня появилось новое времяпрепровождение – чтение…
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
⚙️🪬Управление производительностью с Python 3.12
Начиная с Python 3.12, интерпретатор может работать в специальном режиме, который позволяет функциям Python появляться в выводе профилировщика perf.
В данной статье демонстрируется, как это помогает сократить выполнение скрипта с 36 секунд до 0,8!
👆🏻Читать
#python
Начиная с Python 3.12, интерпретатор может работать в специальном режиме, который позволяет функциям Python появляться в выводе профилировщика perf.
В данной статье демонстрируется, как это помогает сократить выполнение скрипта с 36 секунд до 0,8!
👆🏻Читать
#python
Хабр
Управление производительностью с Python 3.12
В Python 3.12 появилась поддержка perf profiling. В этой статье увидим, как это помогает сократить время выполнения Python-скрипта с 36 секунд до 0,8. Мы рассмотрим Linux-инструмент perf , графики...
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
♑️⤵️ Наследование в ООП
Представим себя, на минуту, инженерами автомобильного завода.
Нашей задачей является разработка современного автомобиля.
У нас уже есть предыдущая модель, которая отлично зарекомендовала себя в течение многолетнего использования.
Всё бы хорошо, но времена и технологии меняются, а наш современный завод должен стремиться повышать удобство и комфорт выпускаемой продукции и соответствовать современным стандартам.
Нам необходимо выпустить целый модельный ряд автомобилей: седан, универсал и малолитражный хэтч-бэк.
Очевидно, что мы не собираемся проектировать новый автомобиль с нуля, а, взяв за основу предыдущее поколение, внесём ряд конструктивных изменений.
Например, добавим гидроусилитель руля и уменьшим зазоры между крыльями и крышкой капота, поставим противотуманные фонари.
Кроме того, в каждой модели будет изменена форма кузова.
#python
Представим себя, на минуту, инженерами автомобильного завода.
Нашей задачей является разработка современного автомобиля.
У нас уже есть предыдущая модель, которая отлично зарекомендовала себя в течение многолетнего использования.
Всё бы хорошо, но времена и технологии меняются, а наш современный завод должен стремиться повышать удобство и комфорт выпускаемой продукции и соответствовать современным стандартам.
Нам необходимо выпустить целый модельный ряд автомобилей: седан, универсал и малолитражный хэтч-бэк.
Очевидно, что мы не собираемся проектировать новый автомобиль с нуля, а, взяв за основу предыдущее поколение, внесём ряд конструктивных изменений.
Например, добавим гидроусилитель руля и уменьшим зазоры между крыльями и крышкой капота, поставим противотуманные фонари.
Кроме того, в каждой модели будет изменена форма кузова.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
📝⚡️Просто о сложном: API, его типы и CRUD-операции
На первый взгляд API и CRUD – сложные понятия, известные только профессиональным программистам.
👆🏻Читать
#python
На первый взгляд API и CRUD – сложные понятия, известные только профессиональным программистам.
👆🏻Читать
#python
itProger - Сообщество программистов
Просто о сложном: API, его типы и CRUD-операции - статья на itProger
На первый взгляд API и CRUD – сложные понятия, известные только профессиональным программистам. Но мы объясним их с помощью нескольких предложений. Давайте приступим. ⚡ Информационные статьи и интересные новости из мира IT на сайте школы программирования…
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🆑5️⃣ Осваиваем классы за 5 минут
Почти все в Python является классом.
Класс — это тип, описывающий устройство объектов: как бы логическая группа атрибутов и функций, которые используются для одного и того же вида данных.
#python
Почти все в Python является классом.
Класс — это тип, описывающий устройство объектов: как бы логическая группа атрибутов и функций, которые используются для одного и того же вида данных.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
✅🧩 Шпаргалка по функции product
Функция product() модуля itertools возвращает декартово произведение входных итерируемых последовательностей *iterables.
Функция itertools.product() примерно эквивалентно вложенным циклам for .. in .. в выражении генератора.
Например выражение product(A, B) возвращает то же, что и выражение-генератор ((x,y) for x in A for y in B).
#python
Функция product() модуля itertools возвращает декартово произведение входных итерируемых последовательностей *iterables.
Функция itertools.product() примерно эквивалентно вложенным циклам for .. in .. в выражении генератора.
Например выражение product(A, B) возвращает то же, что и выражение-генератор ((x,y) for x in A for y in B).
#python
Forwarded from HABR FEED + OPENNET
[Перевод] Полное руководство по модулю asyncio в Python. Часть 7 #habr
https://habr.com/ru/post/711012/
Tags: Блог компании Wunder Fund, Python, Программирование, разработка, asyncio
Author: mr-pickles
https://habr.com/ru/post/711012/
Tags: Блог компании Wunder Fund, Python, Программирование, разработка, asyncio
Author: mr-pickles
Хабр
Полное руководство по модулю asyncio в Python. Часть 7
Публикуем седьмую часть ( 1 , 2 , 3 , 4 , 5 , 6 ) перевода руководства по модулю asyncio в Python. Здесь представлены разделы исходного материала с 17 по 19. 17....
Forwarded from HABR FEED + OPENNET
Пошатывание устоев или из FAANG в HFT-стартап #habr
https://habr.com/ru/post/720858/
Tags: Карьера в IT-индустрии, IT-компании, Проектирование и рефакторинг, faang, hft, hft-трейдинг
Author: MrBlazerer
https://habr.com/ru/post/720858/
Tags: Карьера в IT-индустрии, IT-компании, Проектирование и рефакторинг, faang, hft, hft-трейдинг
Author: MrBlazerer
Хабр
Пошатывание устоев или из FAANG в HFT-стартап
Я — разработчик серверных компонент со стажем в 10+ лет (C++, python). Не трейдер и не квант. Эта статья — результат моих годичных наблюденией, когда после 8 лет...
Forwarded from HABR FEED + OPENNET
Как избежать проблем при запуске MVP #habr
https://habr.com/ru/post/720896/
Tags: Блог компании AGIMA, Разработка веб-сайтов, Python, Разработка мобильных приложений, Тестирование веб-сервисов, mvp, sso, логирование, автотесты, celery, dramatiq
Author: whoosaa
https://habr.com/ru/post/720896/
Tags: Блог компании AGIMA, Разработка веб-сайтов, Python, Разработка мобильных приложений, Тестирование веб-сервисов, mvp, sso, логирование, автотесты, celery, dramatiq
Author: whoosaa
Хабр
Как избежать проблем при запуске MVP
Всем привет! Меня зовут Алексей Половинкин, и я отвечаю за Python в AGIMA . За последние 2 года мне повезло запускать сразу 2 крупных MVP-проекта: классифайд автомобилей для Казахстана и проект в...
Forwarded from HABR FEED + OPENNET
Как разработать собственную канбан-доску на Django, DRF и Alpine.js #habr
https://habr.com/ru/post/721022/
Tags: Блог компании Selectel, API, Agile, Django, Python, selectel, kanban, python, django, drf, alpine, agile
Author: erbanovanastasia
https://habr.com/ru/post/721022/
Tags: Блог компании Selectel, API, Agile, Django, Python, selectel, kanban, python, django, drf, alpine, agile
Author: erbanovanastasia
Хабр
Как разработать канбан-доску на Django, DRF и Alpine.js
Для структурирования и мониторинга рабочих процессов используют канбан-доски — например, Jira и Trello. Они особенно полезны, когда задачи состоят из множества этапов — согласования, выполнения,...
Forwarded from HABR FEED + OPENNET
CutTheLog – когда он слишком большой #habr
https://habr.com/ru/post/721162/
Tags: Python, Системное администрирование, DevOps, логи, python, парсинг
Author: yaznahar
https://habr.com/ru/post/721162/
Tags: Python, Системное администрирование, DevOps, логи, python, парсинг
Author: yaznahar
Хабр
CutTheLog – когда он слишком большой
Log в переводе с английского «бревно» Парсинг логов – типовая задача для системных администраторов и девопсов. Обычно это регулярная операция. Данные постоянно пишутся в конец файла, поэтому...
Forwarded from HABR FEED + OPENNET
Data Fusion Contest 2023. Для опыта и не только… Соревнование от ВТБ с призовым фондом в 2 млн рублей #habr
https://habr.com/ru/post/721174/
Tags: Big Data, Python, Информационная безопасность, Искусственный интеллект, Машинное обучение, data science, machine learning, competition, нейросети, чемпионаты, ml
Author: Dmitry_blinov
https://habr.com/ru/post/721174/
Tags: Big Data, Python, Информационная безопасность, Искусственный интеллект, Машинное обучение, data science, machine learning, competition, нейросети, чемпионаты, ml
Author: Dmitry_blinov
Хабр
Data Fusion Contest 2023. Для опыта и не только… Соревнование от ВТБ с призовым фондом в 2 млн рублей
Соревнование Data Fusion Contest 2023 Я, как новичок, наблюдаю за всем происходящим вокруг, и замечаю, что тренд на IT-специальности огромный. Множество курсов заманивают обещаниями о работе с высокой...
Forwarded from HABR FEED + OPENNET
Как подружить Celery и SqlAlchemy 2.0 с асинхронным Python #habr
https://habr.com/ru/post/721186/
Tags: Python, python, sqlalchemy, celery, fastapi
Author: kield
https://habr.com/ru/post/721186/
Tags: Python, python, sqlalchemy, celery, fastapi
Author: kield
Хабр
Как подружить Celery и SqlAlchemy 2.0 с асинхронным Python
Последние полгода я начал задумываться о том, чтобы дополнить стек помимо Python чем-нибудь вроде Rust или Go, потому что привыкнув к строгой типизации этого уж больно-сильно не хватает и на...