Forwarded from Библиотека питониста | Python, Django, Flask
Автор статьи рассказывает о типичных ошибках, допускаемых при создании и сборке пакета Python, и о том, как их избежать.
https://proglib.io/w/53d769f2
https://proglib.io/w/53d769f2
jwodder.github.io
Knowledge Bits — Common Python Packaging Mistakes
An overview of common mistakes made in creating & building a Python package and how to avoid them
Forwarded from Библиотека питониста | Python, Django, Flask
Forwarded from Библиотека питониста | Python, Django, Flask
Python One-Liners (2020)
Автор: Christian Mayer
Количество страниц: 216
Python One-Liners научит вас читать и писать «One-Liners»: краткие комментарии о полезных функциях, упакованные в одну строку кода. Вы узнаете, как быстро понимать любую строку кода Python и писать красноречивый, сильно сжатый код на Python, как эксперт.
Скачать книгу
Автор: Christian Mayer
Количество страниц: 216
Python One-Liners научит вас читать и писать «One-Liners»: краткие комментарии о полезных функциях, упакованные в одну строку кода. Вы узнаете, как быстро понимать любую строку кода Python и писать красноречивый, сильно сжатый код на Python, как эксперт.
Скачать книгу
Telegram
Книги для программистов (reserved)
Python One-Liners (2020)
Автор: Christian Mayer
Автор: Christian Mayer
Forwarded from Библиотека питониста | Python, Django, Flask
В понедельник стартует новый сезон Podlodka Teamlead Crew – онлайн-конференция для тимлидов, цель которой – разобрать ваши собственные вопросы и дать максимум прикладной пользы! Формат – две недели ежедневных активностей в Zoom, общение и конкурсы в Slack, прямой доступ ко всем приглашенным экспертам.
Ради чего стоит купить билет на этот сезон:
🤝Научиться договариваться со своим руководителем о понятных целях и вовремя получать повышения
🏁Узнать, как строить простые и эффективные процессы онбординга новых сотрудников
🛠Получить новые инструменты: техрадар, гильдии, базы знаний
🤬Узнать, как действовать, когда твой руководитель – мудак
💰Научиться торговаться за зарплату
📚Разобраться, как организовать эффективный обмен знаниями внутри команды
Посмотреть расписание недель и купить билет
Посмотреть, как это было раньше
Ради чего стоит купить билет на этот сезон:
🤝Научиться договариваться со своим руководителем о понятных целях и вовремя получать повышения
🏁Узнать, как строить простые и эффективные процессы онбординга новых сотрудников
🛠Получить новые инструменты: техрадар, гильдии, базы знаний
🤬Узнать, как действовать, когда твой руководитель – мудак
💰Научиться торговаться за зарплату
📚Разобраться, как организовать эффективный обмен знаниями внутри команды
Посмотреть расписание недель и купить билет
Посмотреть, как это было раньше
podlodka.io
Онлайн-конференция Podlodka Teamlead Crew, сезон #14
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам тимлидства, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Forwarded from Библиотека питониста | Python, Django, Flask
Databay - это интерфейс Python для передачи данных по расписанию. Он облегчает передачу любых данных из A в B в запланированный интервал времени.
https://proglib.io/w/ee7aae7d
https://proglib.io/w/ee7aae7d
GitHub
GitHub - Voyz/databay: Databay is a Python interface for scheduled data transfer. It facilitates transfer of (any) data from A…
Databay is a Python interface for scheduled data transfer. It facilitates transfer of (any) data from A to B, on a scheduled interval. - GitHub - Voyz/databay: Databay is a Python interface for sch...
Forwarded from MoscowPython Conf Channel
🤖О чём мечтают Java-роботы, глядя на Python?
Работали вы много лет на джаве и тут пришли в мир пайтона: богатейший язык, шикарное комьюнити! Батарейки не просто включены, их ещё и мешок в нагрузку дают! Но при этом: эммм, а про разделение ответственности тут слышали вообще? А что с экосистемой? Почему никто не думает о безопасности? Почему столько действий надо делать руками?!
Паша Финкельштейн (JetBrains) и Барух Садогурский (JFrog) на Russian Python Week 2020 поговорят о том, что же и где пошло не так, как комьюнити с этим борется и что ещё предстоит сделать 👇 https://conf.python.ru/moscow/2020/abstracts/6312
Работали вы много лет на джаве и тут пришли в мир пайтона: богатейший язык, шикарное комьюнити! Батарейки не просто включены, их ещё и мешок в нагрузку дают! Но при этом: эммм, а про разделение ответственности тут слышали вообще? А что с экосистемой? Почему никто не думает о безопасности? Почему столько действий надо делать руками?!
Паша Финкельштейн (JetBrains) и Барух Садогурский (JFrog) на Russian Python Week 2020 поговорят о том, что же и где пошло не так, как комьюнити с этим борется и что ещё предстоит сделать 👇 https://conf.python.ru/moscow/2020/abstracts/6312
Forwarded from Pythonist.ru - образование по питону
Топ. Virtualenv: руководство по виртуальному окружению Python
Virtualenv — это инструмент для разделения зависимостей, необходимых для проектов. В этой статье мы рассмотрим установку virtualenv, создание виртуального окружения, его активацию и деактивацию.
Читать статью
#топ
Virtualenv — это инструмент для разделения зависимостей, необходимых для проектов. В этой статье мы рассмотрим установку virtualenv, создание виртуального окружения, его активацию и деактивацию.
Читать статью
#топ
Forwarded from Pythonist.ru - образование по питону
Кодинг марафон. Решение Задачи 4.
2 варианта решения задачи по конвертации даты с помощью регулярных выражений читайте у нас на сайте.
Смотреть решение
Условие конкурса в закрепе канала
Рейтинг игроков: https://pythonist.ru/koding-marafon
#задача
2 варианта решения задачи по конвертации даты с помощью регулярных выражений читайте у нас на сайте.
Смотреть решение
Условие конкурса в закрепе канала
Рейтинг игроков: https://pythonist.ru/koding-marafon
#задача
Forwarded from Pythonist.ru - образование по питону
Задача с кодом. "Количество сущностей"
Условие:
Создайте класс User и добавьте способ для проверки количества пользователй (количества сущностей), которые были созданы.
Примеры:
u1 = User("johnsmith10")
User.user_count ➞ 1
u2 = User("marysue1989")
User.user_count ➞ 2
u3 = User("milan_rodrick")
User.user_count ➞ 3
Также добавьте возможность доступа к имени через атрибуты класса:
u1.username ➞ "johnsmith10"
u2.username ➞ "marysue1989"
u3.username ➞ "milan_rodrick"
Решение на нашем сайте. Совет: прежде чем смотреть решение, потратьте хотя бы 30 минут на написание своего собственного кода, т.к. лучше подумать и не решить, чем решить, но не подумать.
#задача #coding
Условие:
Создайте класс User и добавьте способ для проверки количества пользователй (количества сущностей), которые были созданы.
Примеры:
u1 = User("johnsmith10")
User.user_count ➞ 1
u2 = User("marysue1989")
User.user_count ➞ 2
u3 = User("milan_rodrick")
User.user_count ➞ 3
Также добавьте возможность доступа к имени через атрибуты класса:
u1.username ➞ "johnsmith10"
u2.username ➞ "marysue1989"
u3.username ➞ "milan_rodrick"
Решение на нашем сайте. Совет: прежде чем смотреть решение, потратьте хотя бы 30 минут на написание своего собственного кода, т.к. лучше подумать и не решить, чем решить, но не подумать.
#задача #coding
Forwarded from Pythonist.ru - образование по питону
Питонисты, мы набираем уже второй набор на наши 2-х недельные online-курсы PythonBoost.
Первый набор прошел успешно и мы обучили основам питона всех наших студентов. Отзывы по первому потоку можно посмотреть ТУТ
2ой поток стартует уже 31 августа в понедельник. Занятия в зуме. ПН-СР-ПТ с 18 до 20:00 (мск).
Цена 2990 руб. для первых 5ти человек.
Вся информация о программе курса в нашем ЧАТЕ. Все вопросы можете задавать там.
Коротко о программе:
- 12 часов онлайн занятий с преподавателем (6 занятий по 2 часа). Для тех, кто не смог посетить занятие, будет запись лекции.
- упор на практику: д/з и разбор на следующем занятии
Записаться можно по ссылке: http://school.techrocks.ru/python-boost/
Первый набор прошел успешно и мы обучили основам питона всех наших студентов. Отзывы по первому потоку можно посмотреть ТУТ
2ой поток стартует уже 31 августа в понедельник. Занятия в зуме. ПН-СР-ПТ с 18 до 20:00 (мск).
Цена 2990 руб. для первых 5ти человек.
Вся информация о программе курса в нашем ЧАТЕ. Все вопросы можете задавать там.
Коротко о программе:
- 12 часов онлайн занятий с преподавателем (6 занятий по 2 часа). Для тех, кто не смог посетить занятие, будет запись лекции.
- упор на практику: д/з и разбор на следующем занятии
Записаться можно по ссылке: http://school.techrocks.ru/python-boost/
Forwarded from Pythonist.ru - образование по питону
Топ-10 пакетов Python, которые должен знать каждый разработчик
В этой статье мы будем говорить о NumPy, Pendulum, Python Imaging Library, MoviePy, Requests и еще пяти популярных пакетах.
Читать статью
#топ
В этой статье мы будем говорить о NumPy, Pendulum, Python Imaging Library, MoviePy, Requests и еще пяти популярных пакетах.
Читать статью
#топ
Forwarded from Moscow Python (Valentin Dombrovsky)
Продолжаем делиться докладами с Moscow Python Conf (Online), прошедшей в марте.
Сегодня - доклад Петра Ермакова "Все возможности JupyterHub для более чем 20 студентов или R&D-команды"
"Особенности и лайфхаки настройки JupyterHub для большой Data Science-команды. Как правильно организовать работу на общих серверах. Даже если команда состоит из одного человека, вы вынесете новые хитрости. Но что, если вы не один? Как ужиться на одной машине 20 студентам, изучающим ML, или R&D-команде из 15? Готовые рецепты, рекомендации и собранные грабли".
https://www.youtube.com/watch?v=v34y7XtlIWE
Сегодня - доклад Петра Ермакова "Все возможности JupyterHub для более чем 20 студентов или R&D-команды"
"Особенности и лайфхаки настройки JupyterHub для большой Data Science-команды. Как правильно организовать работу на общих серверах. Даже если команда состоит из одного человека, вы вынесете новые хитрости. Но что, если вы не один? Как ужиться на одной машине 20 студентам, изучающим ML, или R&D-команде из 15? Готовые рецепты, рекомендации и собранные грабли".
https://www.youtube.com/watch?v=v34y7XtlIWE
YouTube
Все возможности JupyterHub для более чем 20 студентов или R&D-команды / Петр Ермаков
Python Conf++ 2020 Online
Тезисы и презентация:
https://conf.python.ru/moscow/2020/abstracts/6337
Особенности и лайфхаки настройки JupyterHub для большой Data Science-команды. Как правильно организовать работу на общих серверах. Даже если команда состоит…
Тезисы и презентация:
https://conf.python.ru/moscow/2020/abstracts/6337
Особенности и лайфхаки настройки JupyterHub для большой Data Science-команды. Как правильно организовать работу на общих серверах. Даже если команда состоит…
Forwarded from Moscow Python (Valentin Dombrovsky)
В рамках Russian Python Week мы запускаем первый и регулярный Чемпионат по Python для русскоязычных разработчиков.
Каждый Python-разработчик может присоединиться к этой движухе: посостязаться в мастерстве, определить свой уровень и получить независимую оценку своих скиллов среди Python-разработчиков со всей страны.
Главное и единственное требование ко всем участникам — знание стандартной библиотеки Python. Участие в Чемпионате бесплатное и доступно всем желающим.
Прочитать подробности и зарегистрироваться можно тут:
https://conf.python.ru/moscow/2020/championship
Каждый Python-разработчик может присоединиться к этой движухе: посостязаться в мастерстве, определить свой уровень и получить независимую оценку своих скиллов среди Python-разработчиков со всей страны.
Главное и единственное требование ко всем участникам — знание стандартной библиотеки Python. Участие в Чемпионате бесплатное и доступно всем желающим.
Прочитать подробности и зарегистрироваться можно тут:
https://conf.python.ru/moscow/2020/championship
conf.python.ru
Чемпионат России по Python
Как джуниору победить сеньора? На Чемпионате по Python на Russian Python Week.
Forwarded from Datalytics
Нашёл на Kaggle микрокурс по изучению Pandas, оформленный в виде ноутбуков. Включает в себя разбор всех базовых функций, так что для ознакомления с возможностями библиотеки отлично подходит
https://www.kaggle.com/learn/pandas
https://www.kaggle.com/learn/pandas
Kaggle
Learn Pandas Tutorials
Solve short hands-on challenges to perfect your data manipulation skills.
Forwarded from MoscowPython Conf Channel
🤖О чём мечтают Java-роботы, глядя на Python?
Работали вы много лет на джаве и тут пришли в мир пайтона: богатейший язык, шикарное комьюнити! Батарейки не просто включены, их ещё и мешок в нагрузку дают! Но при этом: эммм, а про разделение ответственности тут слышали вообще? А что с экосистемой? Почему никто не думает о безопасности? Почему столько действий надо делать руками?!
Паша Финкельштейн (JetBrains) и Барух Садогурский (JFrog) на Russian Python Week 2020 поговорят о том, что же и где пошло не так, как комьюнити с этим борется и что ещё предстоит сделать 👇 https://conf.python.ru/moscow/2020/abstracts/6312
Работали вы много лет на джаве и тут пришли в мир пайтона: богатейший язык, шикарное комьюнити! Батарейки не просто включены, их ещё и мешок в нагрузку дают! Но при этом: эммм, а про разделение ответственности тут слышали вообще? А что с экосистемой? Почему никто не думает о безопасности? Почему столько действий надо делать руками?!
Паша Финкельштейн (JetBrains) и Барух Садогурский (JFrog) на Russian Python Week 2020 поговорят о том, что же и где пошло не так, как комьюнити с этим борется и что ещё предстоит сделать 👇 https://conf.python.ru/moscow/2020/abstracts/6312
Forwarded from Moscow Python (Valentin Dombrovsky)
На этой неделе мы будем выкладывать видео с Moscow Python Conf Online, которая прошла в марте этого года.
Первое видео: Mastering a data pipeline with Python / Robson Luis Monteiro Junior (Microsoft)
Building data pipelines are a consolidated task, there are a vast number of tools that automate and help developers to create data pipelines with few clicks on the cloud. It might solve non-complex or well-defined standard problems. This presentation is a demystification of years of experience and painful mistakes using Python as a core to create reliable data pipelines and manage insanely amount of valuable data. Let's cover how each piece fits into this puzzle: data acquisition, ingestion, transformation, storage, workflow management and serving. Also, we'll walk through best practices and possible issues. We'll cover PySpark vs Dask and Pandas, Airflow, and Apache Arrow as a new approach.
https://www.youtube.com/watch?v=25fUlUsmg38
Первое видео: Mastering a data pipeline with Python / Robson Luis Monteiro Junior (Microsoft)
Building data pipelines are a consolidated task, there are a vast number of tools that automate and help developers to create data pipelines with few clicks on the cloud. It might solve non-complex or well-defined standard problems. This presentation is a demystification of years of experience and painful mistakes using Python as a core to create reliable data pipelines and manage insanely amount of valuable data. Let's cover how each piece fits into this puzzle: data acquisition, ingestion, transformation, storage, workflow management and serving. Also, we'll walk through best practices and possible issues. We'll cover PySpark vs Dask and Pandas, Airflow, and Apache Arrow as a new approach.
https://www.youtube.com/watch?v=25fUlUsmg38
YouTube
Mastering a data pipeline with Python / Robson Luis Monteiro Junior (Microsoft)
Python Conf++ 2020 Online
Тезисы и презентация:
https://conf.python.ru/moscow/2020/abstracts/6316
Building data pipelines are a consolidated task, there are a vast number of tools that automate and help developers to create data pipelines with few clicks…
Тезисы и презентация:
https://conf.python.ru/moscow/2020/abstracts/6316
Building data pipelines are a consolidated task, there are a vast number of tools that automate and help developers to create data pipelines with few clicks…
Forwarded from Python Lounge: работа и стажировки для программистов
Как одной математической формулой по номеру месяца посчитать количество дней в нем?
Попробуем написать функцию f(x), которая бы давала следующий список значений (таблица №1), то есть количество дней в месяцах. Помимо стандартных арифметических операций, мы будем использовать целочисленное деление и взятие остатка по модулю.
Обычно количество дней в месяце колеблется между 30 и 31. При этом, можно заметить зависимость этого числа от четности месяца — значит, воспользуемся операцией взятия остатка по модулю 2. Кажется, это должно быть нечто, вроде:
Пока что не обращая внимания на февраль, нам нужно, чтобы +1 в делимом «активировалось» только при достижении аргументом значений, больших 8. При этом значения аргумента не могут превосходить 12. Значит, нам идеально подойдет целочисленное деление аргумента на 8:
Все правильно, кроме февраля. Как неожиданно. В самой последней версии нашей формулы февралю достались целых 30 дней. А потому нам нужно отсечь у него пару дней. Естественно, от этого пострадают и еще какие-то месяцы, поэтому нам придется пожертвовать именно январем, затем подправив формулу и для него. Отсечь дни для первого и второго месяцев можно с помощью выражения 2 % x. Тогда наша формула принимает уже следующий вид:
Остался последний шаг — подлатать январь. Это сделать не так сложно: просто добавим 2 дня только к нему, т.е. к такому месяцу, чей номер меньше либо равен единице. Как вам идея использовать для этой цели
Превосходно, 12 из 12. Подобная функция на языке Python может быть записана следующим образом:
Попробуем написать функцию f(x), которая бы давала следующий список значений (таблица №1), то есть количество дней в месяцах. Помимо стандартных арифметических операций, мы будем использовать целочисленное деление и взятие остатка по модулю.
Обычно количество дней в месяце колеблется между 30 и 31. При этом, можно заметить зависимость этого числа от четности месяца — значит, воспользуемся операцией взятия остатка по модулю 2. Кажется, это должно быть нечто, вроде:
f₁(x) = 30 + x % 2
# таблица №2
Пока что не обращая внимания на февраль, нам нужно, чтобы +1 в делимом «активировалось» только при достижении аргументом значений, больших 8. При этом значения аргумента не могут превосходить 12. Значит, нам идеально подойдет целочисленное деление аргумента на 8:
f₃(x) = 30 + (x + x // 8) % 2
# таблица №3
Все правильно, кроме февраля. Как неожиданно. В самой последней версии нашей формулы февралю достались целых 30 дней. А потому нам нужно отсечь у него пару дней. Естественно, от этого пострадают и еще какие-то месяцы, поэтому нам придется пожертвовать именно январем, затем подправив формулу и для него. Отсечь дни для первого и второго месяцев можно с помощью выражения 2 % x. Тогда наша формула принимает уже следующий вид:
f₄(x) = 28 + (x + x // 8) % 2 + 2 % x
# таблица №4
Остался последний шаг — подлатать январь. Это сделать не так сложно: просто добавим 2 дня только к нему, т.е. к такому месяцу, чей номер меньше либо равен единице. Как вам идея использовать для этой цели
1 // x
? Проверяем:f₅(x) = 28 + (x + x // 8) % 2 + 2 % x + 1 // x * 2
# таблица №5
Превосходно, 12 из 12. Подобная функция на языке Python может быть записана следующим образом:
f = lambda x: 28 + (x + x // 8) % 2 + 2 % x + 1 // x * 2
print(f'В июне {f(6)} дней')
# Out: В июне 30 дней
Forwarded from Python Lounge: работа и стажировки для программистов
Паттерн проектирования Singleton
Одиночка или же синглтон – это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр.
Итак, нам требуется такой класс, который будет при вызове возвращать один и тот же экземпляр, поэтому нам придется переопределить магический метод new.
new__(cls, *args, **kwargs) –– вызывается для создания экземпляра класса, перед вызовом __init. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса).
То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти.
Одиночка или же синглтон – это паттерн проектирования, описывающий объект, у которого имеется один единственный экземпляр.
Итак, нам требуется такой класс, который будет при вызове возвращать один и тот же экземпляр, поэтому нам придется переопределить магический метод new.
new__(cls, *args, **kwargs) –– вызывается для создания экземпляра класса, перед вызовом __init. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса).
class Singleton:
instance = None
def __new__(cls):
if cls.instance is None:
cls.instance = super().__new__(cls)
return cls.instance
Здесь мы проверяем, есть ли значение у атрибута instance. Если нет, то присваиваем атрибуту экземпляр этого же класса. А если уже экземпляр создан, то просто его возвращаем.То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти.
a = Singleton()
b = Singleton()
Создали два экземпляра, теперь убедимся, что они содержат одинаковый объект. print(a is b) # True
Forwarded from MoscowPython Conf Channel
❌Python не поддерживает функциональное программирование.
– Так считают многие Python-программисты. А если явно писать типы, то Python перестанет быть самим собой.
Но без нормальной типизации и принципов функционального программирования мы получаем месиво из кода, кучу потенциальных и реальных ошибок и проблемы в использовании принципа единой ответственности (SRP). SRP позволяет разложить сложные задачи на простые строительные блоки и составить из них корректное и нужное вам программное обеспечение.
💥На Russian Python Week 2020 теме типизации и функционального программирования будет посвящён отдельный мастер-класс от Pablo Aguilar, одного из основных разработчиков dry-python. Поговорим о том, как распределять ответственность, научимся решать проблемы с безопасностью и разберёмся, наконец, с типизацией.
✅ Бронируйте билеты! С промокодом дешевле на 5% (действует до 6 сентября) mpc2020-online-conf_tg_36
– Так считают многие Python-программисты. А если явно писать типы, то Python перестанет быть самим собой.
Но без нормальной типизации и принципов функционального программирования мы получаем месиво из кода, кучу потенциальных и реальных ошибок и проблемы в использовании принципа единой ответственности (SRP). SRP позволяет разложить сложные задачи на простые строительные блоки и составить из них корректное и нужное вам программное обеспечение.
💥На Russian Python Week 2020 теме типизации и функционального программирования будет посвящён отдельный мастер-класс от Pablo Aguilar, одного из основных разработчиков dry-python. Поговорим о том, как распределять ответственность, научимся решать проблемы с безопасностью и разберёмся, наконец, с типизацией.
✅ Бронируйте билеты! С промокодом дешевле на 5% (действует до 6 сентября) mpc2020-online-conf_tg_36
conf.python.ru
Pablo Aguilar на Russian Python Week 2020
I thought in this presentation flow, the slides are following it:* Show the presentation idea: Divide the code, Conquer maintainability* Flask code examples: Flaks minimal application, Flask + DB, Flask + DB + Marshmallow.Highlighting code pieces to show…