|
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 815
|
||||||
Почему переменная в замыкании не меняет значение?16.08.2024, 14:29. Показов 456. Ответов 4
почему х все время = 3
раздел "Замыкания и цикл for" нисколько не прояснили, кому лень прыгать по ссылкам: "Что мы здесь делаем Объявляем список, в котором будем хранить замыкания. Используем лямбда-выражение, чтобы создать замыкание, и добавляем его в список на каждой итерации. «Распаковываем» замыкания из списка и присваиваем их переменным m1, m2 и m3 соответсвенно. Передаем значения 10, 20 и 30 в каждое замыкание и выполняем их. Вывод 30 30 30 Работает не так, как мы ожидали. Почему? В цикле for x меняет значения от 1 до 3. Когда цикл завершается, значение x — 3. Каждый элемент списка — соответсвующее замыкание lambda y: x*y. Python использует значение x для вычислений каждый раз, когда вы вызываются m1(1), m2(10) и m3(10). И поскольку в момент выполнения замыкания x всегда 3, результат всех замыканий одинаковый — 30." Я вывел список и вот , такая картина, у всех функций разные ячейки, наверно если бы ссылались на одну и ту же х была бы одна ячейка, хотя я мало в этом понимают <function <lambda> at 0x035D8D48> <function <lambda> at 0x035D8D98> <function <lambda> at 0x035D8DE8> Вопрос остается , почему переменная х после цикла имеет в списке значение = 3, а не 1, 2, 3
0
|
||||||
| 16.08.2024, 14:29 | |
|
Ответы с готовыми решениями:
4
Переменная не меняет свое значение
Глобальная переменная не меняет значение в Асинхронном методе |
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||||||
| 16.08.2024, 15:01 | ||||||
2
|
||||||
|
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 815
|
|
| 16.08.2024, 15:12 [ТС] | |
|
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 16.08.2024, 15:23 | |
Сообщение было отмечено ujif как решение
Решение
Где-то выделена память под значение икс. При формировании списка, лямбда ссылается на этот адрес. Икс пробежался в цикле и последнее значение его - 3. Лямбда при выполнении берет за икс значение в ячейке памяти, а там тройка.
2
|
|
|
Любознательный
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
||
| 16.08.2024, 15:25 | ||
Сообщение было отмечено ujif как решение
Решение
2
|
||
| 16.08.2024, 15:25 | |
|
Помогаю со студенческими работами здесь
5
Переменная не меняет значения после обновления ее источныка с которого она и получила значение Элемент массива внезапно меняет свое значение, почему? Переменная "Х" меняет свое значение от начального 1.1 к конечному 4.1 с шагом 0.2. Реализовать программу используя все циклы. Почему переменная b не принимает значение? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|