def create_funcs(): funcs = [] for i in range(3): def f(): return i funcs.append(f) return funcs
for func in create_funcs(): print(func())
Варианты ответа: A)
1 2
B)
2 2
C)
0 0
D) Ошибка выполнения
---
✅ Правильный ответ: B
Почему: Это классическая late binding: функция f() не сохраняет значение i на момент создания, а берёт его из текущей области видимости при вызове. К моменту вызова i == 2 (последнее значение в range(3)), поэтому все три функции возвращают 2.
Чтобы избежать этого — можно использовать аргументы по умолчанию: def f(i=i): return i
def create_funcs(): funcs = [] for i in range(3): def f(): return i funcs.append(f) return funcs
for func in create_funcs(): print(func())
Варианты ответа: A)
1 2
B)
2 2
C)
0 0
D) Ошибка выполнения
---
✅ Правильный ответ: B
Почему: Это классическая late binding: функция f() не сохраняет значение i на момент создания, а берёт его из текущей области видимости при вызове. К моменту вызова i == 2 (последнее значение в range(3)), поэтому все три функции возвращают 2.
Чтобы избежать этого — можно использовать аргументы по умолчанию: def f(i=i): return i
BY Python RU
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Spiking bond yields driving sharp losses in tech stocks
A spike in interest rates since the start of the year has accelerated a rotation out of high-growth technology stocks and into value stocks poised to benefit from a reopening of the economy. The Nasdaq has fallen more than 10% over the past month as the Dow has soared to record highs, with a spike in the 10-year US Treasury yield acting as the main catalyst. It recently surged to a cycle high of more than 1.60% after starting the year below 1%. But according to Jim Paulsen, the Leuthold Group's chief investment strategist, rising interest rates do not represent a long-term threat to the stock market. Paulsen expects the 10-year yield to cross 2% by the end of the year.
A spike in interest rates and its impact on the stock market depends on the economic backdrop, according to Paulsen. Rising interest rates amid a strengthening economy "may prove no challenge at all for stocks," Paulsen said.
Telegram Auto-Delete Messages in Any Chat
Some messages aren’t supposed to last forever. There are some Telegram groups and conversations where it’s best if messages are automatically deleted in a day or a week. Here’s how to auto-delete messages in any Telegram chat. You can enable the auto-delete feature on a per-chat basis. It works for both one-on-one conversations and group chats. Previously, you needed to use the Secret Chat feature to automatically delete messages after a set time. At the time of writing, you can choose to automatically delete messages after a day or a week. Telegram starts the timer once they are sent, not after they are read. This won’t affect the messages that were sent before enabling the feature.