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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Как заработать на аренде офиса, которого у вас нет

Наши друзья из Ключа недавно запустили что-то интересное. Если не слышали раньше, то Ключ — это сеть рабочих пространств, которая делает смарт-офисы, коворкинги и переговорные на разных площадках в Москве. Например, у Ключа есть филиалы на Трёхгорной мануфактуре и Арме. На подходе у них новая большая площадка у м. Нагатинская — Ключ Сириус Парк.

По этому случаю в компании запустили реферальную программу: те, кто предложит арендатора в Ключ, смогут получить вознаграждение 5% от месячной платы за аренду — а это до 250 000 ₽.

Как это работает
Есть две простые анкеты.
Первая — это регистрация в реферальной программе: https://bit.ly/2AL4fIo. После неё вам вышлют личный ID брокера.
Вторая анкета — это форма, где нужно оставить контакты ваших знакомых, кто ищет офис: https://bit.ly/2oLH521. Если сделка с ними будет успешной, то вам перечислят вознаграждение. Успешная сделка — это когда договор аренды заключен от 6 месяцев и выше.

Здесь подробнее про другие площадки Ключа: thekey.space/offices
Комментарии в Python: лучшие практики
Важно писать комментарии, которые читабельны и просты для понимания. Вы узнаете лучшие практики комментирования, которым вы можете следовать при написании кода для себя или для других. Вы увидите, как комментарии могут быть полезны для разбивки проблем на управляемые части, при отладке и для того, чтобы сделать ваш код более понятным для других разработчиков.

#видеодня

https://prglb.ru/20d8p
Упрощаем разработку: асинхронные функции Python

Хотите программировать на Python асинхронно? Испытываете проблемы с многопоточностью? Расскажем, как использовать асинхронные функции в Python.

#статьядня

https://prglb.ru/1apjz
Если вы хотите перебрать несколько итераций одновременно, вы можете использовать функцию zip (она не имеет ничего общего с форматом файла ZIP):

#codeexample

from datetime import timedelta

names = [
    'Eleven. Return and Revert',
    'Wilderness',
    'The Menagerie Inside',
    'Evaporate',
]

years = [
    2010,
    2013,
    2015,
    2018,
]

durations = [
    timedelta(minutes=57, seconds=38),
    timedelta(minutes=48, seconds=5),
    timedelta(minutes=46, seconds=34),
    timedelta(minutes=43, seconds=25),
]

print('Midas Fall LPs:')
for name, year, duration in zip(
    names, years, durations
):
    print(f'  * {name} ({year}) — {duration}')

Output:

Midas Fall LPs:
  * Eleven. Return and Revert (2010) — 0:57:38
  * Wilderness (2013) — 0:48:05
  * The Menagerie Inside (2015) — 0:46:34
  * Evaporate (2018) — 0:43:25
​​В SkillFactory стартует онлайн-марафон Python
для анализа данных
, который гарантирует получение знаний.

Как это работает?
1. Оплатите невозвратную часть обучения за участие — 2 900 руб.
2. Выполняйте задания в установленные сроки.
3. Оплачивайте курс частями, с возможностью вернуть деньги.
4. Завершите курс с оценкой не менее установленного количества баллов.
5. Верните деньги за свое обучение.

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

Старт – 16 октября, забронируйте место уже сейчас: https://clc.to/wR1ijg
Интересные новые функции в Python 3.8

Из данной статьи вы узнаете:
-Как использовать выражение присваивания для упрощения некоторых конструкций кода
-Как применять positional-only аргументы в ваших собственных функциях
-Указание более точных подсказок типа
-Как использовать f-строки для более простой отладки

#статьядня

https://prglb.ru/1w9fd
Python Back-end Developer в GOSU.AI
от 1500-2200 EUR, повышение ЗП после переезда.
Full-time удаленно, дальнейшая релокация в Вильнюс (компания помогает в получением европейского ВНЖ).

➡️ Подробности: https://www.notion.so/gosu/Python-Back-end-Developer-6e9681e1e0244b8795a08d395b097d59
#codeexample

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

>>> keys = ['a', 'b', 'c']
>>> {k: True for k in keys}
{'a': True, 'b': True, 'c': True}

Однако, у класса dict есть метод класса fromkeys, разработанный специально для этого случая:

>>> dict.fromkeys(keys, True)
{'a': True, 'b': True, 'c': True}

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

>>> '\N{EM DASH}'
'—'
>>> '\u2014'
'—'

Это также совместимо с f-strings:

>>> width = 800
>>> f'Width \N{EM DASH} {width}'
'Width — 800'
10 советов о том, как научить ребенка программировать на Python
10 педагогических советов и 3 книги для тех, кто хочет помочь ребенку научиться программировать на Python.

#статьядня

https://prglb.ru/2ju06
#codeexample

f-строки позволяют указать ширину для печатаемого значения, а также другие спецификаторы формата:

>>> x = 42
>>> f'{x:5}+{x:15f}'
' 42+ 42.000000'

Они также могут содержать оцененные выражения, которые могут быть полезны, когда ширина неизвестна заранее:

def print_table(matrix):
cols_width = [
max(len(str(row[col])) for row in matrix)
for col in range(len(matrix[0]))
]

for row in matrix:
for i, cell in enumerate(row):
print(
f'{cell:{cols_width[i]}} ',
end=''
)
print()

albums = [
['Eleven. Return and Revert', 2010],
['Wilderness', 2013],
['The Menagerie Inside', 2015],
['Evaporate', 2018],
]

print_table(albums)

На выходе:

Eleven. Return and Revert 2010
Wilderness 2013
The Menagerie Inside 2015
Evaporate 2018
Python sleep(): как добавить временные задержки в ваш код

Из данной статьи вы узнаете, как добавить вызовы Python sleep () с помощью:
time.sleep ()
Декораторов
Потоков
Async IO
GUI

#статьядня

https://prglb.ru/a9s3
Новые крутые Features в Python 3.8

Что принес Python 3.8?  Документация дает хороший обзор новых функций.  Тем не менее, эта статья более подробно расскажет о некоторых самых значительных изменениях и покажет, как вы можете использовать преимущества Python 3.8.

#статьядня

https://prglb.ru/1w9fd
Redis в Python — Полная документация на примерах

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

#статьядня

https://prglb.ru/4jgvy
Poco — UI автоматизация мобильных игр на основе Python в рамках AirTest IDE

Poco — фреймворк UI автоматизации игр использующий Python в рамках AirTest IDE с возможностью комбинирования функциональности с их же Image Recognition фреймворком (AirTest).

#статьядня

https://prglb.ru/1uywx
Введение в функциональное программирование с примерами на Python

Функциональное программирование - это довольно интересная концепция, которая получила много внимания в последнее время. В данной статье представлены наиболее важные аспекты функционального программирования в целом и предоставляет несколько примерами на Python.

#статьядня

https://prglb.ru/167yy
Скрапинг 180 тысяч продуктов класса «Люкс» с помощью Python

В данной статье рассказывается, как найти незадокументированное API на FarFetch и создать пакет Python с тремя инструментами: Firefox Web Developer, Requests & Pandas.

#статьядня

https://prglb.ru/4m435
Python и быстрые HTTP-клиенты

Существует множество HTTP-клиентов для Python. Самым распространённым и легким в работе можно назвать requests. Сегодня этот клиент является стандартом де-факто. О нем и поговорим в данной статье

#статьядня

https://prglb.ru/3jaz4
BeautifulSoup – парсинг HTML в Python на примерах

Данная инструкция по BeautifulSoup является вводным руководством по использованию библиотеки BeautifulSoup Python. В примерах показано использование тегов, модификация документа и перебор его элементов, а также парсинг веб-страниц.

#статьядня

https://prglb.ru/4n39g
Python глазами нейрофизиологов

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

#видеодня

https://prglb.ru/1ag37
Сглаживание в Python

Приведенные ниже методы сглаживают потенциально глубокий список с помощью рекурсии

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

def spread(arg):
ret = []
for i in arg:
if isinstance(i, list):
ret.extend(i)
else:
ret.append(i)
return ret

def deep_flatten(xs):
flat_list = []
[flat_list.extend(deep_flatten(x)) for x in xs] if isinstance(xs, list) else flat_list.append(xs)
return flat_list


deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]