#python python... PYTHON 🔛 🚀
11 subscribers
912 photos
7 videos
158 files
1.54K links
Download Telegram
Прокачайте свои навыки в сфере IT и аналитики данных — примерьте роль Data Scientist! Участвуйте в бесплатном онлайн-интенсиве, который пройдёт с 9 по 11 февраля. Начало — в 19:00 по московскому времени.

Записывайтесь: 👉 https://clc.to/gayj0w
Сразу после регистрации отправим вам на почту материал по Data Science с полезными ресурсами и советами, где найти первые заказы для портфолио.

За 3 дня вы научитесь:

⚡️ исследовать данные с помощью языка программирования Python;
⚡️ строить модели для реальных кейсов;
⚡️ находить аномалии в данных;
⚡️ автоматизировать решение бизнес-задач с помощью искусственного интеллекта и машинного обучения.

Спикер интенсива — руководитель направления исследования данных в Сбере с семилетним опытом в программировании Анастасия Борнева.

🎉 Участвуйте, задавайте вопросы и получите сертификат на скидку 10 000 рублей на любой курс Skillbox.

Присоединяйтесь!
🖥 Шесть малоизвестных библиотек Python 2023

В этой статье я делюсь шестью малоизвестными, но полезными библиотеками python для работой с данными и не только, которые помогут вам в работе.

Читать
Зеркло

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Сокращаем количество изображений , применив хеширование из стандартной библиотеки Python.

Используем библиотека hashlib, чтобы почистить память и удалить ненужные данные.

Читать
Код

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Хитрый Питон
Вышел релиз SQLAlchemy 2.0, получается довольно интересно:

- Полная поддержка типов: ORM-модели теперь можно делать полностью типизированные, результаты запросов тоже типизированы
- Теперь ORM-модели можно объявлять как MappedAsDataclass и в этом случае на выходе получатся полноценные датаклассы
- Для массовых добавлений/изменений вместо bulk_* методов теперь можно использовать insert-ы и update-ы, которые стали достаточно умными, чтобы делать это одним запросом и поддерживать .returning()
- C-расширения переписали на Cython и обещают повышение их производительности
- Поддержка нового psycopg3 (aka "просто psycopg")

Резюмируя - очень здорово, что в довольно "олдскульный" SQLAlchemy затащили поддержку всяких современных фич языка. Будет интересно попробовать это все.

Статья про изменения в 2.0 https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html
QuickStart, в котором показан новый подход к объявлению моделей https://docs.sqlalchemy.org/en/20/orm/quickstart.html
Forwarded from Хитрый Питон
YAML в последние годы набрал огромную популярность, но наверное самая большая проблема с ним в том, что он выглядит просто, но на самом деле формат очень замороченный. Спецификация состоит из 10-и глав https://yaml.org/spec/1.2.2/. Честно признаюсь - я не осилил прочитать ее полностью, думаю, как и большинство людей, активно использующих yaml.

И вот тут мы подходим к теме сегодняшней статьи. Из-за того, что формат сложный, но с ним пытаются работать как с простым, есть много неочевидных способов поломать yaml-документ. Например, ключи словаря в `yaml` могут быть любого типа, не только строками. Если это совместить с тем, что yaml считает, что on — это True, а off — это False, то вот этот пример из Quickstart-а Github Actions:


on: [push]


будет прочитан как:


True: ['push']


Интересно, в Github Actions свой, пропатченый парсер или они on и True в ключах считают одним и тем же?


В общем вот хорошая статья, в которой разбирается этот и многие другие неочевидные ловушки формата. Очень рекомендую всем, кто сталкивается с необходимостью писать/править YAML https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
Forwarded from Хитрый Питон
Кстати, в эту пятницу в 14:00 МСК будет новый стрим python-подкаста. В этот раз мы пробуем новый формат, вместе с Ильей Лебедевым обсудим, что интересного произошло в python-экосистеме за месяц. В темах:

- что интересного происходит в разработке веб-фреймворков
- обсудим выход SQLAlchemy 2.0
- свежие PEP и особенно возможность собирать python без GIL (и другие новые pep-ы)

и другие новости, связанные с python. Приходите на стрим на ютуб и задавайте вопросы в комментариях! https://www.youtube.com/live/wZ8PMWtRCe4?feature=share
Forwarded from Хитрый Питон
Вышел MyPy 1.0.0, из интересных изменений:

- На 40% быстрее, я очень рад, потому что на более-менее большой кодовой базе он раньше тормозил как не в себя
- Добавили сообщения о undefined variables, использовании переменной до ее объявления. Кажется, тот же flake8 нормально это отлавливает, но все равно выглядит небесполезно
- Добавили поддержку типа Self (есть в 3.11, для более ранних версий надо использовать typing_extensions)
- Реализовали поддержку ParamSpec, но я если честно еще ни разу ParamSpec не использовал в реальном коде, но если интересно, это PEP 612

И еще из интересного, они на конец перешли на semver и теперь будет проще по номерам версий понимать, будут ли подводные камни при обновлении 🙂

Подробнее вот тут https://mypy-lang.blogspot.com/2023/02/mypy-10-released.html
#SBJ
#linters in #PyCharm
#googling
#ChatGPT_answer:

PyCharm provides built-in support for several linters, including #Pylint, #Flake8, and #mypy. Here's how to use each of these linters:

Pylint: Pylint is a popular linter for Python that checks for programming errors, code style, and code complexity. To use Pylint in PyCharm, follow these steps:

Go to Settings/Preferences > Editor > Inspections.
Search for "Pylint" and check the box to enable it.
Click "Configure" to customize the Pylint settings, such as the severity of the issues and the Pylint executable path.

Flake8: Flake8 is another popular linter that combines several other linters, including Pylint, PyFlakes, and McCabe. To use Flake8 in PyCharm, follow these steps:

Go to Settings/Preferences > Editor > Inspections.
Search for "Flake8" and check the box to enable it.
Click "Configure" to customize the Flake8 settings, such as the severity of the issues and the Flake8 executable path.

mypy: mypy is a static type checker for Python that can help catch type-related bugs before runtime. To use mypy in PyCharm, follow these steps:

Go to Settings/Preferences > Editor > Inspections.
Search for "mypy" and check the box to enable it.
Click "Configure" to customize the mypy settings, such as the severity of the issues and the mypy executable path.

In general, it's a good idea to use multiple linters to catch as many issues as possible. You can enable and configure multiple linters in PyCharm and see the results in the editor and the #inspection #tool window.
👺 Маскируем данные с Python

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

Проще говоря, анонимизация данных – это процесс перестановки данных таким образом, после которого будет невозможно понять, кому принадлежат данные. В зависимости от цели может так же возникнуть потребность в том, чтобы сохранить смысл и такие свойства как однородность, целостность, взаимозависимость и вариативность исходных данных. Чтобы решить возможную проблему, необходимо понять, как и какие данные необходимо маскировать, а какие нужно сохранить.

Anonympy – простая, но богатая своим функционалом библиотека, обладающая набором инструментов и функций для анонимизации и маскировки данных. На текущий момент проходит бета-тестирование функционала по анонимизации изображений и цензурированию текста в PDF-документах, но об этом в другой раз.

pip install anonympy

- Читать дальше
- Зеркало
- Anonympy

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python и 1000 уязвимостей
Конвертируем строку в словарь
Использование метода
ast.literal.eval()

Сегодня продолжим конвертировать строку в словарь. Смотреть прошлый гайд: Использование метода json.loads()

Еще одна функция, которую применяют для преобразования строк в словари, — ast.literal.eval(). Чтобы ее использовать, нужно импортировать библиотеку ast.
Forwarded from Python и 1000 уязвимостей
🐼 По маршруту SQLite - Pandas: 7 основных операций

💬 Когда я занимался разработкой iOS, еще не было устоявшихся решений для работы с базами данных мобильных приложений, так что мне пришлось реализовывать свою собственную БД.

Выбор пал на SQLite, упрощенный механизм для управления реляционными базами данных.

Важно отметить, что pandas, ведущая библиотека для обработки данных, предоставляет соответствующие функциональности для взаимодействия с разными базами данных, в том числе и SQLite. В данной статье мы рассмотрим ряд основных операций.

Читать статью
Forwarded from Python и 1000 уязвимостей
Конвертируем строку в словарь
Использование метода
json.loads()

Программистам постоянно приходится преобразовывать различные типы данных, и очень важно делать это правильно.

Мы можем преобразовать строку в словарь с помощью функции json.loads(). Чтобы ее использовать, нужно импортировать модуль json.
Forwarded from Инжиниринг Данных (Dmitry)
Наконец-то я закончил замечательную книгу, наверно лучшую в своем роде - Python Crash Course (3rd edition).

Книга состоит из 2х частей:
1) теория + упражнения про обычные питоновские вещи, но все объяснено очень понятным языком (наверно за это очень любят эту книгу). Я давным-давно закончил часть1.
2) а вот 2ю часть все откладывалась. Это набор разных проектов на питоне.

Я загрузил свой код к себе в репо. Так же там есть популярные cheetsheets от автора.

Проекты:
- сделать игру на PyGame, используется много файлов и классов
- визуализация данных с помощью Matplotlib, Plotly, генерация данных
- работа с API на примере GitHub, HackerRank
- достаточно большой проект на Django, в котором будет много HTML.

PyGame и Django мне вряд ли понадобятся, но моя задача просто чаще использовать питон, и эти проекты отлично подошли. Даже промелькнула мысль сделать английскую версию datalearn на django, но быстро ее отбросил.

Следующая книгу по Python - Fluent Python. В ней много базовых вещей, но это как вода, которая должна заполнить пустоты в стакане с песком:)

Что вам еще по питону нравится?
📆🕰 Работаем с датой и временем

С помощью следующего фрагмента кода вы сможете с легкостью узнать год/месяц/день/час/минуту/секунду настоящего времени.
#python
📑📌 Методы работы со списками

#python
💮📝 Шпаргалка по множествам

#python