Python 3.8 здесь!

🐍Отложим дела ради классной новости! Python версии 3.8 официально релизнулся!

Что в новой версии?

1️⃣ Оператор морж (писал о нем ранее). Присваивание переменной внутри других выражений:

if (n := len(a)) > 10:
    print("слишком длинно")

while (block := f.read(256)) != '':
    process(block)

[clean_name.title() for name in names
 if (clean_name := normalize('NFC', name)) in allowed_names]

2️⃣ Разделитель позиционных аргументов (слэш /). Указывает, что первые несколько аргументов могут быть только позиционными (в строгом порядке, без указания имени). Напомню, что именные аргументы передаются с указанием имени, и не важно в каком порядке. В примере ниже a и b – только позиционные, c и d — могут быть позиционные или переданы по имени, а e и f – исключительно именные:

def f(a, b, /, c, d, *, e, f):
    print(a, b, c, d, e, f)

# разрешенный вызов:
f(10, 20, 30, d=40, e=50, f=60)

# НЕЛЬЗЯ передать b по имени 
# (b стоит до слэша)
f(10, b=20, c=30, d=40, e=50, f=60) 

# НЕЛЬЗЯ передать e без указания имени
# (e стоит после звездочки)
f(10, 20, 30, 40, 50, f=60) 

3️⃣ Спецификатор = для f-строк. Тут проще на примере, раньше мы писали с повторами:

>>> user = 'eric_idle'
>>> since = date(1975, 7, 31)
>>> f'user={user} since={since}'
"user='eric_idle' since=datetime.date(1975, 7, 31)"

А теперь можно так:

>>> f'{user=} {since=}'
"user='eric_idle' since=datetime.date(1975, 7, 31)"

После знака равно можно добавлять и прочие спецификаторы форматирования:

>>> delta = date.today() - since
>>> f'{user=!s} {delta.days=:,d}'
'user=eric_idle delta.days=16,075'

Для отладки принтами — просто восторг!

4️⃣ Теперь можно continue внутри finally

Еще есть множество улучшений со стороны C-API, всякие хуки аудита, вектор-коллы. Новая настройка PYTHONPYCACHEPREFIX, чтобы вынести кэш байткода из стандартной директории pycache куда вам удобно. Очень-очень много разных мелких изменений в стандартных модулях и функциях, о которых расскажу при случае.

Что нового по-английски

Как вам новая версия?

Хорошо там, где нас нет

Может быть, правду говорят «хорошо там, где нас нет». Когда мы приезжаем куда-то, нам обычно показывают место с лучших его сторон (не бесплатно, конечно, но ведь и для нас это событие – повод раскошелиться). Попробуй поживи там месяц или год, и многие местные проблемы станут очевидны.

Может быть, отчасти для этого придумали путешествие. Ты в пути, ты везде не на долго. Ты не успеваешь испортить себя впечатление собственным присутствием. Всегда видишь новое, чувствуешь, пробуешь на вкус, вдыхаешь, слышишь иностранную речь… Путешествие – это смена обстановки в надежде, что там будет лучше, и так оно и реализуется в реальности. Оно дарит мне счастье и радость. И пусть звучит эгоистично…

Для меня все только начинается!

По поводу зимы

img_0065

Кстати, некоторые могут подумать, что я не люблю зиму. Потому что я постоянно порываюсь уехать зимовать куда-нибудь в Гоа или в Тайланд. 

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

Но зимы в наших краях слишком много. Фактически к холодным месяцам часто относятся ноябрь и март (и иногда даже апрель с октябрем). В 2016 снег лежал весь ноябрь. И загвоздка именно в этих месяцах. Потому что я люблю ЗИМУ и СНЕГ, но не люблю СЛЯКОТЬ И ГРЯЗЬ.

Я хочу быть здесь, когда снег одерживает победу над грязью (как вчера), и не хочу быть здесь, когда грязь побеждает снег.

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

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

Ильдорф

Ильдорф

img_0054

Coffee Cake

Мой главный и любимый прием пищи – завтрак. Завтрак делает день. Я повадился последнее время ходить в Coffee Cake на пл. Минина (Нижний Новгорд) по утрам. Меню интересное и разнообразное, учитывая, что цель этого заведения все-таки не еда, а напитки. Готовят очень вкусно и интересно, хоть и не бюджетно. Очень нравится уютный, теплый интерьер кофейни. Пожалуй, лучшее место в городе, чтобы попить кофе.

koffee
Кофе и книга с утра – отличное начало дня.

Французский омлет с пастрами, огурцом и руколой
Французский омлет с пастрами, огурцом и руколой