TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.91K subscribers
Post #3673 1.31K
Аргументы со звездочкой способны распаковывать итерируемый объект в индивидуальные аргументы. Однако в нашем примере также присутствует генератор.


def f(a, b, c):
print('%s, %s и %s' % (a, b, c))

# Распаковка значений генераторного выражения
f(*(i for i in range(3)))


Генераторы вместо построения результирующего списка в памяти возвращают итерируемый объект. Прием применим также к словарям и представлениям:


D = dict(а='Bob', b='dev', с=40.5)

# Нормальные ключевые аргументы
f(a='Bob’, b='dev’, с=40.5) # Bob, dev и 40.5

# Распаковка словаря: ключ=значение
f(**D) # Bob, dev и 40.5

# Распаковка итератора ключей
f(*D) # b, c и a

# Распаковка итератора представления
f(*D.values()) # Bob, dev и 40.5\nNone


None выводится, потому что это означает последний шаг итерирования (StopIteration). Подробнее про это читайте в этом посте.
Telegram Python: задачки и вопросы Объяснение: Первый шаг к пониманию того, что происходит в этом странном коде — это взглянуть на то, что нам говорит PEP 380⁴⁰ об использовании return с yield. Кратко говоря, return expr в генераторе вызывает исключение StopIteration(expr) при выходе из генератора.…
More from @quiz_python
  1. Oct 1, 2026Развёрнутое пояснение: 1. Кортеж regions задаёт два ключа: eu и us. 2. dict.fromkeys(regio…
  2. Oct 1, 2026Post #4906
  3. Sep 30, 2026Развёрнутое пояснение: 1. defaults содержит исходные значения timeout и retries, а env изн…
  4. Sep 30, 2026Post #4904
  5. Sep 29, 2026Развёрнутое пояснение: 1. Создаётся функция load_rate, которая при вызове печатает строку…
  6. Sep 29, 2026Post #4902
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →