Как стать автором
Обновить

Комментарии 13

Кроме спискового включения (list comprehension) есть ещё set и dict comprehension,
a = {x for x in 'abracadabra' if x not in 'abc'}
b = {x: x**2 for x in (2, 4, 6)}
(можно добавить в 1).
А также выражение генератор, которое от спискового включения отличается круглыми скобками вместо квадратных (можно добавить в 4).

Декораторы иногда очень сильно выручают

декораторы с параметрами в особенности!
add_func = lambda z: z ** 2


основной задачей, похоже, является введение противника разработчика в заблуждение

Кстати это объясняет зачем «одноразовую» и безымянную лямбду записали в переменную с именем :). На мой взгляд def выглядел бы уместнее, пусть даже и на строку больше.
можно наговнокодить и в одну строку, при желании
def add_func(z): return z ** 2
Ещё очень классная тема, это переопределение 'магических' методов.
Я бы понял если бы это была эзотерика навроде метаклассов, но как list comprehension то можно было не знать или слайсы и отрицательные индексы? Это часть синтаксиса и она включается в начальных главах всех книжек по питону, присутствует в большинстве туториалов и используется повсеместно, сложно найти проект на гитхабе, где был бы питон с использованием списков и не было бы этих фич. Вы про with то надеюсь знаете? Про typing можете ещё почитать, отличное движение в сторону явной типизации. Или форматные строки, которые f-string, добавляющие строковую интерполяцию, такие возможности питоновские старички в лёгкую могут пропустить, если не следят за релиз нотами.
Если бы вы могли рассказать начинающему программисту всего об одной возможности Python — что бы вы выбрали?
Я бы ему рассказал про туториалы питона и его библиотек, где он может всё это прочитать и не делать «открытия» на пустом месте.
add_func = lambda z: z ** 2
А так писать не надо. А то придёт злой дядька инспектор кода и всё подсветит.
Что значит разработал N-ное количество систем на Python и не знал о срезах, листкомпах и т.п.? Как такое может быть?
Это перевод статьи аспиранта (это не совсем точно, т.к. там другая система) Эдинбургского университета.

Последнее время много таких статей, когда находят стандартные бытовые вещи для Pythonистов.


Наверное это даже хорошо. Показывает что много людей недостаточно знакомы с таким прекрасным языком для решения задач — нужно их конечно просвещать. ;)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий