Конференция PyCon India 2018 стала поистине обогащающим опытом для участников, поскольку у нас была возможность встретиться и пообщаться с некоторыми из ведущих игроков, связанных с сообществом Python, и обсудить проблемы, с которыми мы сталкиваемся в наших проектах.

Я хотел бы пролить свет на некоторые из сеансов, которые больше всего заинтриговали меня с точки зрения POV из той работы, которую мы выполняли.

Среди ведущих разработчиков, которые взаимодействовали с участниками, были Армин Ронахер (создатель веб-фреймворка Python Flask) и Трэвис Олифант (создатель наиболее широко используемых пакетов Python в науке о данных и машинном обучении, таких как SciPy, NumPy, Numba и Dask).

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

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

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

6 октября 2018 г.

Основной доклад: Армин Ронахер, создатель веб-фреймворка Flask на Python

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

Ронахер также высказал мнение, что дистрибутив должен поддерживать многовариантность любого проекта, а PEP-8 должен строго соблюдаться для всех разработчиков. Он также сравнил все существующие функции с языком программирования Rust и сказал, что именно поэтому он перейдет на Rust.

Демистификация "положений и условий" с помощью НЛП: Aroma Rodriguez

Родригес рассказал о том, как мы можем быстро перейти к «положениям и условиям», используя ИИ и НЛП. Подход заключался в создании классификатора текста с использованием алгоритма Наивного Байеса из TextBlob. В учебном модуле было 3 класса - брать, отдавать, игнорировать.

Возьмите: то, что дает организация.

Give: Что пользователи дают взамен.

Игнорировать: любой повторяющийся текст.

7 октября 2018 г.

Основной доклад: Трэвис Олифант, основатель Anaconda и создатель Numpy, Scipy, Numfocus, Numba и Dask

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

Почему необходимо следовать стандарту в массиве данных?
Почему нам нужно переходить на Numba и Dask для обработки данных?

Приключения в итерациях: Викрант Патил

Презентация Патил была посвящена красивой визуализации математических функций природы с использованием итераций Python. Презентация была основана на книге «Ворота в современную математику: итерационные приключения». Сессия завершилась блестящей визуализацией треугольника Серпинского.

Изучение гитары с помощью программирования на Python: Ришав Шах, Сринивас Кальяни

Сессия была посвящена синтаксическому анализу MIDI-файлов с использованием библиотеки Python Mido. MIDI-файл содержал ноту и время ее воспроизведения. Шах и Каляни не затрагивали тему проприетарных алгоритмов, и главная цель заключалась в том, чтобы найти кратчайший путь перехода между нотами, поскольку на них можно было играть разными способами. Выходные данные алгоритма дают наиболее подходящий способ сыграть определенный набор нот. Кроме того, они создали устройство, которое можно было прикрепить к гриву, чтобы светодиодный индикатор загорался и показывал, где должен находиться палец пользователя.

Что нужно знать о классах данных в Python 3.7: Сасидхар Донапарти

Класс данных больше связан с хранением максимального количества данных, чем с логикой. Модуль класса данных упрощает создание классов. Класс данных должен быть хешируемым; для этого требуется метод _hash_, а также метод _eq_. Вы также можете добавить собственный метод _repr_ для упрощения отладки.

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

Вы можете сделать определенные переменные в классе данных изменяемыми или неизменяемыми в соответствии с вашими потребностями. Существует еще одна концепция, названная «namedtuple», которая работает как класс данных, хотя все определенные там переменные по умолчанию будут неизменяемыми. Однако классы данных в этом отношении гораздо более гибкие.

Использование Jupyter для расширения возможностей менее технических: Марк Удофф, Шрирам Нагараджан

На этом занятии Удофф и Нагараджан показали участникам, как они создали оболочку под названием Nbviewer поверх Jupyter Notebook. В Nbviewer можно скрыть коды и показать только визуализации, таблицы и т. Д.