ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

Python: задачки и вопросы

Python: задачки и вопросы

الذهاب إلى القناة على Telegram

Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media

إظهار المزيد
6 861
المشتركون
-224 ساعات
-137 أيام
-4730 أيام
أرشيف المشاركات
#размяться
#размяться

Если выражение lambda и оператор def, определяемый внутри функции, вкладывается в цикл, а вложенная функция ссылается на переменную из объемлющей области видимости, которая изменяется этим циклом, то все функции, генерируемые внутри цикла, будут иметь одно и то же значение — значение ссылаемой переменной на последней итерации цикла. Лямбда-функция, несмотря на цикл for, будет запоминать последнее значение i, то есть 5:
def makeActions():
    acts = []
    
    for i in range(5):
        acts.append(lambda x: i ** x) # i в таких условиях всегда равен 4
        
    return acts
Чтобы добиться задуманного, нужно передать текущее значение переменной из объемлющей области видимости посредством стандартного значения:
acts.append(lambda x, i=i: i ** x)

Что выведет код?
Anonymous voting

#ловушка
#ловушка

Обратите внимание на опережающую ссылку в коде:
f2(x)
Вполне нормально вызывать функцию, определенную после функции, где она вызывается, при условии, что второй оператор def выполняется перед фактическим вызовом первой функции. Код внутри def никогда не выполняется до тех пор, пока функция не будет действительно вызвана.

Исполнится ли данный код без ошибки?
Anonymous voting

#джуну
#джуну

Замыкание (closure) представляет функцию, которая запоминает свое лексическое окружение даже в том случае, когда она выполняется вне своей области видимости. Технически замыкание включает три компонента: — внешняя функция multiply(), которая определяет некоторую область видимости и в которой определены некоторые переменные и параметры - лексическое окружение — переменные и параметры (лексическое окружение), которые определены во внешней функции. — вложенная функция inner(), которая использует переменные и параметры внешней функции. inner() запоминает окружение, в котором была создана, в частности, значение параметра n. Кроме того, сама принимает параметр и возвращает произведение параметров n и m.

Что выведет код?
Anonymous voting

#джуну
#джуну

В каком порядке Python сканирует области видимости при поиске той или иной переменной?
Anonymous voting

Что делает встроенная область видимости в Python?
Anonymous voting

Какой области видимости не существует?
Anonymous voting

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

Что выведет код выше?
Anonymous voting

#джуну
#джуну

Горящие таски — в сторону. Мы нашли вам занятие поинтереснее! Tproger вместе с друзьями приготовил для вас Виммельбух. Перехо
Горящие таски — в сторону. Мы нашли вам занятие поинтереснее! Tproger вместе с друзьями приготовил для вас Виммельбух. Переходите по ссылке, рассматривайте карту и узнавайте, чем живёт технологичный город в новогоднюю пору: https://tprg.ru/EUAI А ещё на улицах города мы спрятали предметы… Сможете найти все? Реклама, ИП Михайлишина Гузель Фаниловна, erid: LjN8K2n6W

Что означает полиморфизм в Python?
Anonymous voting

Продукт vs Разработка: кто рулит бизнесом? Выяснить это можно, пожалуй, только в батле. И у нас есть такой! Сетка, социальная сеть для нетворкинга от hh ru, столкнет продакта и разработчика, которые будут жарко спорить, кто же на самом деле двигает бизнес вперед. Когда: 12 декабря Формат: онлайн-батл на несколько раундов.  На арене встретятся: — Олег Федоткин, СТО «Циан» — Дима Харламов, CPO Партнерских продуктов «Яндекс.Такси» Зачем приходить? — Узнаете, у кого зарплата должна быть больше. — Посмотрите на жаркую дискуссию лидов «Циана» и «Яндекса». — Заберёте пару крутых инсайтов для своей работы. Не забудьте зарегистрироваться и подготовиться к захватывающему файтингу!  Зарегистрироваться Узнать больше об онлайн-батле Это #партнёрский пост

Если у функции нет return, что она вернет по умолчанию
Anonymous voting