Библиотека питониста | Python, Django, Flask
40.5K subscribers
2.76K photos
75 videos
51 files
4.35K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.me/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
​​PyMOTW-3 - это серия статей, написанных Дугом Хеллманном для демонстрации использования модулей стандартной библиотеки Python 3. Он основан на оригинальной серии PyMOTW, которая охватывала Python 2.7.

#полезностьдня

https://pymotw.com/3/
Кроме PEP8: лучшие практики для красивого интеллектуального кода

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

#видеодня

https://www.youtube.com/watch?v=wf-BqAjZb8M&feature=youtu.be
​​#статьядня

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

http://edmundmartin.com/scraping-instagram-with-python/
Когда использовать __str__, а когда __repr__

#codeexample

import datetime
today = datetime.date.today()


str(today)
# '2017-02-02'

 repr(today)
# 'datetime.date(2017, 2, 2)'

Python interpreter sessions использует # repr  для проверки объектов:
today
#datetime.date.today()
Поиск по файлам
В этом уроке вы создадите программу, которая будет делать поиск по содержимому файлов во всех каталогах и подкаталогах. Программа основана на модуле Pickle, который реализует мощный алгоритм сериализации и десериализации объектов Python.

#видеодня

https://youtu.be/CSsByV7C3mg
Транспонирование двумерного массива данных
Чтобы поменять местами строки и столбцы матрицы, созданной с помощью встроенных типов данных, воспользуйтесь функцией zip:

original = [('a', 'b'), ('c', 'd'), ('e', 'f')]
transposed = zip(*original)
print(list(transposed))


#полезностьдня

Если вы регулярно сталкиваетесь с подобными задачами, вместо таких трюков в Python принято использовать библиотеку NumPy.
​​The Python Tutorial
Автор: Yeradis P. Barbosa Marrero

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

#книгадня

Ссылка на книгу:
https://t.me/progbook/1973
Асинхронное программирование на Python с помощью asyncio
Статья посвящена отважным программистам, которые желают изучать асинхронное программирование на Python с использованием библиотеки asyncio.

#статьядня

https://proglib.io/p/python-asyncio/
Алгоритмы и структуры данных на Python 3

Один из лучших курсов для тех, кто начинает изучать программирование или хочет подтянуть свои знания по алгоритмам!
Лектор: Хирьянов Тимофей Фёдорович

Ссылка на полный курс:
https://www.youtube.com/watch?v=KdZ4HF1SrFs&list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
​​Все ещё тратите время на подготовку отчетов в Excel и анализ данных занимает много времени?

Современная серьезная аналитика невозможна без владения Python.
Python позволяет решать аналитической задачи любой сложности. Большинство сложных задач решаются несколькими строчками кода.

В Skillfactory сейчас открыт набор на онлайн-курс “Python для анализа данных” → https://goo.gl/qNRcBx Курс позволяет освоить Python для анализа данных с нуля. Для практики используются реальные задачи, которые решают аналитики.

На протяжении всего обучения у вас будет поддержка автора и куратора курса. Вы сможете получить ответ на любой вопрос

Сейчас есть возможность забронировать курс со скидкой 40% по случаю Новогодней распродажи!
Получить полную программу курса можно по ссылке → https://goo.gl/qNRcBx
Social_mapper  -  продукт с открытым исходным кодом, который использует искусственный интеллект для распознавания лиц и поиска взаимосвязей профилей в различных социальных сетях.
Ну и конечно реализован на Python.

#полезностьдня
 https://github.com/SpiderLabs/social_mapper
Распаковывание последовательностей при неизвестном числе элементов

#полезностьдня

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

seq = [1, 2, 3, 4]
*a, b, c = seq
print(a, b, c)
a, *b, c = seq
print(a, b, c)
a, b, *c = seq
print(a, b, c)
a, b, c, *d = seq
print(a, b, c, d)
a, b, c, d, *e = seq
print(a, b, c, d, e)


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

for (a, *b, c) in [(1, 2, 3), (4, 5, 6, 7)]:
print(a, b, c)
​​Python Practice Book
Данная книга содержит очень много полезных примеров, на которых освоение языка будет намного проще!

#книгадня

Читать онлайн:
https://anandology.com/python-practice-book/index.html
Mailpile – это современный, быстрый почтовый клиент с удобными функциями шифрования и конфиденциальности. Это один из самых активных Python-проектов, его разработка финансируется большим сообществом сторонников. Весь код, связанный с проектом, будет выпущен под лицензией Free Software, утвержденной OSI.

#библиотекадня

Ссылка на исходники:
https://github.com/mailpile/Mailpile
yapf - утилита для анализа кода Python, которая принадлежит компании Google.
По функционалу yapf похож на autopep8, но использует другой подход, который основан на «clang-format», разработанном Дэниелом Джаспером. Отформатированный yapf код, будет не только соблюдать принятые соглашения, но и выглядеть так, словно был написан хорошим программистом. Вторым важным отличием является возможность задавать стили.

#полезностьдня

Посмотреть как он работает можно здесь:
https://yapf.now.sh
​​ Think Python: How to Think Like a Computer Scientist
Автор: Allen B. Downey
Если создание компьютерных игр – слишком легкомысленное занятие для вас, возьмите эту книгу. Ее подход гораздо серьезнее, ведь автор ставит себе задачу научить вас думать как программист.
Основы программирования на Python изложены простым и понятным языком.  Есть много тем, которые в других руководствах не рассматриваются, например, анализ алгоритмов, изменяемость и полиморфизм.

#книгадня
​​ Шаблоны проектирования в Python: для стильного кода
Многие шаблоны проектирования встроены в Python из коробки, а другие очень просто реализовать, используя базовые возможности языка.

#статьядня

https://proglib.io/p/python-patterns/
Поиск по файлам
В этом уроке мы создадим программу, которая будет делать поиск по содержимому файлов во всех каталогах и подкаталогах. Программа сможет сохранять прогресс, чтобы иметь возможность восстановиться в случае ошибки. Программа основана на модуле Pickle, который реализует мощный алгоритм сериализации и десериализации объектов Python.

#видеодня

https://youtu.be/CSsByV7C3mg
#codeexample

Если вы хотите, чтобы какой-то код выполнялся с измененной глобальной переменной, лучше использовать менеджер контекста, а не изменять его напрямую:

 from contextlib import contextmanager

QUIT_MESSAGE = 'Bye'

def print_quit_mesage():
    global QUIT_MESSAGE
    print(QUIT_MESSAGE)

@contextmanager
def global_variable_changed(name, value):
    orig_value = globals()[name]
    globals()[name] = value
    yield
    globals()[name] = orig_value

with global_variable_changed(
    'QUIT_MESSAGE',
    'Tschüss'
):
    print_quit_mesage()