В Python значения по умолчанию для аргументов функции вычисляются один раз при определении функции. В данном случае список
lst
создаётся один раз и используется при каждом вызове функции func, если не передан другой список. Поэтому элементы добавляются в один и тот же список, и результат накапливается.None
не может быть напрямую сравнён с int
в Python 3, поэтому sorted()
вызовет TypeError
.Forwarded from Код найма
Расскажите про свой опыт поиска работы
Мы сейчас проводим исследование — хотим разобраться, как айтишники ищут работу: на что обращаете внимание в вакансии, что для вас точно красный флаг, а что — зеленая простыня. Мы хотим из первых уст узнать про все боли, подводные камни и нюансы рекрутинга в ИТ в 2025 году, поэтому просим вашей помощи — пройдите опрос, который займет у вас около 15 минут.
Давайте поможем компаниям и специалистам эффективнее и быстрее находить друг друга.
Мы сейчас проводим исследование — хотим разобраться, как айтишники ищут работу: на что обращаете внимание в вакансии, что для вас точно красный флаг, а что — зеленая простыня. Мы хотим из первых уст узнать про все боли, подводные камни и нюансы рекрутинга в ИТ в 2025 году, поэтому просим вашей помощи — пройдите опрос, который займет у вас около 15 минут.
Давайте поможем компаниям и специалистам эффективнее и быстрее находить друг друга.
В Python логические значения
True
и False
являются подклассами int
и равны 1 и 0 соответственно. Поэтому выражение эквивалентно 1 + 1 + 0.sum()
работает как со списками, так и с генераторами, и результат — 0 + 1 + 2 == 3.При сравнении
Так как
b == a
, где b
— это список, а a
— это экземпляр MyList
, интерпретатор сначала вызывает list.__eq__(b, a)
, и если результат — NotImplemented
, тогда он вызывает MyList.__eq__(a, b)
.Так как
MyList.__eq__
определён и всегда возвращает True
, то сравнения b == a возвращаетт True.🔍Что выведет код?
Anonymous Quiz
23%
<function <lambda> at 0x1027200e0>
28%
[1, 4, 9, 16, 25, 36, 49, 64]
33%
[8, 8, 8, 8, 8]
17%
Error
В этом примере все лямбда-функции в списке
functions
замыкают переменную i
, которая после завершения цикла имеет значение 4. Поэтому при вызове каждой функции с аргументом 2 вычисляется 2 * 4 = 8.