- •ВВЕДЕНИЕ
- •1.1. Почему Python
- •1.2. Практические задания
- •Вопросы для самопроверки
- •2. ТИПЫ ДАННЫХ
- •2.1. Базовые типы данных в языке Python
- •2.1.3. Кортежи
- •2.1.4. Словари
- •2.1.5. Множества
- •2.1.6. Frozenset
- •2.1.7. Файлы
- •2.1.8. Генераторы
- •2.2. Практические задания
- •Вопросы для самопроверки
- •3. ФУНКЦИИ
- •3.1. Создание функции
- •3.2. Значения аргументов по умолчанию
- •3.3. Рекурсия
- •3.4. Лямбда-функции
- •3.5. Локальные и глобальные переменные
- •3.6. Практические задания
- •4.1. Декораторы
- •4.2. Итераторы и генераторы
- •5.2. Поле объекта класса
- •5.3. Добавление и удаление полей и методов
- •Вопросы для самопроверки
- •ЗАКЛЮЧЕНИЕ
2.1.8. Генераторы
Список
>>>l = [i for i in range(10)]
>>>l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Кортеж
Генератор кортежа возвращает не объект кортеж, а объект-генератор, что позволяет существенно экономить занимаемую кортежем память:
>>>t = (i for i in range(10))
>>>t
<generator object <genexpr> at 0x106d05cd0>
>>>t.__sizeof__()
48
>>>l.__sizeof__()
168
Словарь
>>>d = {i : i+i for i in range(7)}
>>>d
{0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12}
Множество
>>>s = {i for i in range(10)}
>>>s
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Генераторы особенно удобно использовать со встроенными функциями,
такими как sum(), min(), max():
# подсчитаем максимальную длину строки в файле
>>>max(len(line) for line in open('text.txt') if line.strip())
2.2.Практические задания
1.Напишете программу с использованием 5 типов данных.
2.Выведете на экран текущий тип последней переменной.
17