Параметрические генераторы и списки

Разбор Д/З №3

Повторение

Функции: что это такое, задание, распаковка/запаковка параметров

Итераторы: next(), StopIteration, из чего делаются (.__iter__() и .__getitem()__)

Генераторы — вид итераторов — задание, принцип работы, что такое return

Ещё про генераторы

Выражение-генератор:

Параметрический генератор:

  1. сначала next(генератор)

  2. все остальные — вида генератор.send(значение)

  3. соответственно, в тексте функции — имя = yield выражение

  4. пример

Зачем это может быть нужно?

Вся правда про []

Всё это — вызов __getitem__(…) с соответствующими параметрами. Например, M[a:b:c] превращается в A.__getitem__(slice(a,b,c)). При этом slice(a,b,c) — это просто объект, имеющий поля .start (==a), .stop (==b) и .step (==c); поле равно None если он не задано в конструкции с «[»

Пример с классом

Списки

NB! то, что слева — не последовательности вообще

__setitem()__?

Методы списков

Д/З

Внимание!: более подробное объяснение условий и некоторые подсказки можно найти по ссылкам «полное условие»`

LecturesCMC/PythonIntro2017/05_Lists (последним исправлял пользователь FrBrGeorge 2017-11-13 11:11:12)