Опубликовано

Представляем новую книгу: “В стране смельчаков. Татарская сказка”

В стране смельчаков. Татарская сказка

Это сказка о юноше, которому пришлось стать смелым, чтобы спасти целый город и свою любимую. Известный татарский писатель Ахмет Файзи сочинил ее на основе татарских сказок и легенд. Данир совсем не хотел становиться воином, ему больше нравилось слушать пение птиц, играть на дудочке и любоваться лебедями. И однажды его отец, славный охотник Азат Мерген решил, что пора Даниру становиться настоящим батыром, и отправил сына в далекое и опасное путешествие.

Книгу можно купить в нашем интернет-магазине.

 

Об авторе

Ахмет Файзи

Ахмет Файзи  — известный татарский писатель, лауреат Государственной премии им. Г. Тукая — написал эту сказку на основе татарских народных сказаний и  легенд.

О художнике

Гульнара-Фаляхова

Гульнара Фаляхова  представляет молодое поколение художников Башкирии. Ее работы, пронизанные духом тюркской культуры, украшают российские и зарубежные галереи.

Опубликовано

Представляем мастер-класс Евгении Тучкевич: Adobe Illustrator CC 2022!

Adobe Illustrator CC 2022. Мастер-класс Евгении Тучкевич

В нашем издательстве вышла книга “Adobe Illustrator CC 2022. Мастер-класс Евгении Тучкевич“.

В основу книги положена эффективная методика обучения дизайнеров, опробованная в учебных аудиториях. Последовательно в виде уроков рассмотрены основные инструменты, технологии и приемы построения для различных проектов в программе Adobe Illustrator на примере версии CС 2022. Особое внимание уделено созданию графики и техникам рисования в программе. Рассмотрены вопросы подготовки графики для Web или печати, в том числе прозрачных объектов. Описаны многочисленные способы трансформации объектов, использование графических стилей, кистей, узорных заливок, символов, эффектов и  многое другое. Учебные файлы, созданные специально для курса, размещены на сайте издательства.

Для широкого круга пользователей

НОВОЕ ИЗДАНИЕ ПОПУЛЯРНОЙ КНИГИ ТЕПЕРЬ В ЦВЕТЕ!

Книга будет полезна:

  • начинающим пользователям как понятное, пошаговое руководство для быстрого изучения программы;
  • дизайнерам как набор готовых решений;
  • преподавателям как сборник превосходных методических материалов;
  • профессиональным пользователям как справочник по работе в программе.

Книгу можно купить в нашем интернет-магазине.

Содержание

ПРЕДИСЛОВИЕ 11
Введение. ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ 13
Типы компьютерной графики 14
Характеристики растрового изображения, или
Что нужно знать, создавая и сохраняя файл 15
Пиксел 15
Разрешение изображения 16
Сглаживание (anti-alias) 16
Цветовые модели 17
Модель RGB 17
Модель CMYK 19
Модель HSB 20
Как выбрать цвет в Illustrator? 20
Диалоговое окно Color Picker (Подборщик цвета) … 20
Палитра Color (Цвет) 21
Палитра Swatches (Образцы) 22Урок 1. ИНТЕРФЕЙС ПРОГРАММЫ 23
Интерфейс 24
Работа с быстрыми («горячими») клавишами 26
Палитры 26
Функциональные клавиши 27
Перестройка палитр 27
Выбор и скрытие палитры 29
Панель инструментов 29
Определение инструмента 31
Выбор инструмента 31
Режимы отображения 32
Способы изменения масштаба просмотра 32
Дополнительные средства изменения масштаба 34
Быстрое перемещение по изображению 35
Работа с несколькими монтажными областями
в одном документе 35
Artboard (Монтажная область) 35
Режимы просмотра графических объектов 35Урок 2. ПОСТРОЕНИЕ ПРИМИТИВОВ. ВЫРАВНИВАНИЕ. ГРУППИРОВКА 37
Построение примитивов 38
Инструменты Rectangle (Прямоугольник),
Rounded Rectangle (Скругленный прямоугольник),
Ellipse (Эллипс) 38
Инструмент Polygon (Полигон) 40
Инструмент Star (Звезда) 41
Группа инструментов незамкнутых линий 42
Выделение объектов 44
Инструменты выделения объектов 45
Команды главного меню Select (Выделение) 46
Команды подменю Select | Same
(Выделение | Подобно) 47
Присвоение цвета объектам 48
Атрибуты объектов 48
Изменение цвета атрибутов 49
Проект «Улитка» 49
Порядок следования объектов 51
Проект «Забавные животные». 51
Обводка объекта. Палитра Stroke (Обводка) 53
Создание обводок с переменной шириной 54
Сохранение профилей ширины 55
Группировка объектов 56
Работа с элементами группы 56
Выравнивание объектов.
Палитра Align (Выравнивание) 57Урок 3. ЦВЕТ И РАСКРАШИВАНИЕ 61
Цветовая модель документа 62
Заливка и обводка объектов 62
Палитра Swatches (Образцы) 63
Сохранение образца в палитре 64
Библиотеки образцов 65
Типы образцов 66
Градиент 68
Палитра Gradient (Градиент) 68
Кнопка Edit Gradient (Редактировать градиент). Инструмент Gradient (Градиент) 71
Цветовые группы 76
Создание и редактирование цветовой группы 76Урок 4. ВСПОМОГАТЕЛЬНЫЕ ЭЛЕМЕНТЫ ИНТЕРФЕЙСА 79
О вспомогательных элементах интерфейса 80
Краткий обзор монтажной области 80
Границы и габариты выделенного объекта 81
Rulers (Линейки) 81
Grid (Сетка) 82
Guides (Направляющие) 83
Smart Guides (Умные направляющие) 84
Проект «Создание упаковки» 85Урок 5. ТРАНСФОРМАЦИЯ ОБЪЕКТОВ 89
Преобразование объекта инструментом Selection
(Выделение) 90
Перемещение объектов 91
Команда Move (Перемещение) 91
Перемещение при помощи палитр Properties
(Свойства) и Transform (Трансформация) 92
Масштабирование объектов 93
Команда Scale (Масштабирование) 93
Масштабирование при помощи палитр
Properties (Свойства), Transform (Трансформация)… 94 Инструмент Scale (Масштабирование) 94
Поворот объектов 94
Команда Rotate (Поворот) 94
Поворот при помощи палитр
Properties (Свойства), Transform (Трансформация)… 95 Инструмент Rotate (Поворот) 95
Отражение объектов 96
Команда Reflect (Отражение) 96
Отражение при помощи палитр Properties
(Свойства),Transform (Трансформация) 96
Инструмент Reflect (Отражение) 97
Наклон объектов 98
Команда Shear (Наклон) 98
Инструмент Shear (Наклон) 98
Применение нескольких преобразований
одновременно 99
Команда Transform Each
(Трансформировать каждый) 99
Инструмент Free Transform
(Свободная трансформация) 100
Повтор трансформации 102
Проект «Дом vs замок» 103
Инструмент Puppet Warp
(Марионеточная деформация) 105
Проект «Осьминожка» 106Урок 6. ЭФФЕКТЫ ТРАНСФОРМАЦИИ 107
Эффекты искажения и трансформации 108
Эффект Free Distort (Свободная деформация) 108
Эффект Pucker & Bloat (Втягивание и раздутие) 109
Эффект Roughen (Огрубление) 110
Эффект Tweak (Трепать) 111
Эффект Twist (Скручивание) 112
Эффект Zig Zag (Зигзаг) 112
Эффект Transform (Трансформировать) 113
Проект «Цветы в вазе» 114
Проект «Визитка» 116Урок 7. СОЗДАНИЕ СЛОЖНЫХ ФОРМ ИЗ ПРОСТЫХ 119
Палитра Pathfinder (Обработка контуров) 120
Проект «Пиктограмма» 122
Голова 123
Тело 124
Инструмент Shaper (Мастер фигур) 127
Инструмент Shape Builder (Создание форм) 128
Проект «Рыбка» 128

Урок 8. РАБОТА С КРИВЫМИ БЕЗЬЕ 131
Создание прямолинейных контуров пером 132
Создание криволинейных сегментов пером 133
Основные элементы кривых 134
Типы опорных точек 136
Редактирование контуров 136
Инструменты для работы с контурами 136
Создание угловых точек в процессе
построения кривых 138
Упражнение «Цветок» 139
Упражнение «Сердце за две опорные точки» 140
Создание векторного объекта по контуру
растрового изображения 141
Использование операций редактирования
опорных точек 142
Операции с опорными точками 143
Выравнивание опорных точек 143
Преобразование обводок в составные контуры 144
Создание дополнительного контура с отступом 145
Удаление мусора командой Clean Up (Вычистить) 146
Разрезание объектов и контуров 146
Соединение двух открытых контуров 147
Задания для самостоятельной работы 148

Урок 9. ГРАДИЕНТНАЯ СЕТКА 149
Что такое градиентная сетка? 150
Способы создания сеточного объекта 151
Создание сеточного объекта при помощи инструмента Mesh (Сетка) 151
Использование команды Create Gradient Mesh
(Создать градиентную сетку) 152
Киборг из градиентной сетки 153

Урок 10. РИСОВАНИЕ ПО СИЛУЭТУ 157
Техники рисования в программе 158
Стандартная техника 158
Рисование по силуэту 159
Проект «Гриб» 161
Создание силуэта по эскизу 161
Рисование деталей внутри силуэта 162
Работа с цветом 163
Детали в иллюстрации 164
Задний план 164

Урок 11. БЫСТРАЯ ЗАЛИВКА 167
Рисование с использованием Live Paint
(Быстрая заливка) 168
Создание группы быстрой заливки. 168
Ограничения возможностей быстрой заливки 169
Редактирование группы быстрой заливки 169
Раскрашивание с помощью инструмента
Live Paint Bucket (Ведро быстрой заливки) 170
Замыкание зазоров 171
Разбор или отмена группы с быстрой заливкой 171
Проект «Витраж» 171

Урок 12. ТРАССИРОВКА ИЗОБРАЖЕНИЙ 175
Инструмент Image Trace (Трассировка изображения) 176
Примеры использования 177
Наборы предустановленных параметров 179
Настройка других параметров инструмента
Image Trace (Быстрая трассировка) 181

Урок 13. ИНФОГРАФИКА. ПОСТРОЕНИЕ В ПЕРСПЕКТИВЕ 185

Инфографика 186
Базовые принципы перспективного рисования 187
Perspective Grid (Сетка перспективы) 189
Построение объектов в перспективе 191
Добавление объектов в перспективу 193
Добавление текста и символов в перспективу 193
Проект «Вертолетная площадка» 193

Урок 14. РАБОТА С ТЕКСТОМ 197
Создание текста 198
Способы создания текста 199
Палитры форматирования текста 201
Инструмент Area Type (Текст в области) 204
Текст по контуру 208
Преобразование текста в кривые 209
Специальные символы. Палитра Glyphs (Глифы) 210
Наследование текста. 210
Стили символов и абзацев 211
Инструмент Touch Type Tool (Изменение текста) 212
Типы шрифтов 212
Команды меню Type (Текст) 214

Урок 15. СЛОИ. МАСКИ ОТСЕЧЕНИЯ 215
Палитра Layers (Слои) 216
Преимущества работы со слоями 216
Основные функции палитры Layers (Слои) 217
Clipping Mask (Маска отсечения) 220
Векторная маска отсечения 220
Текстовая маска отсечения 221
Создание обтравочного контура 223

Урок 16. СТИЛИ И ЭФФЕКТЫ 225
Атрибуты оформления 226
Палитра Appearance (Оформление) 226
Палитра Layers (Слои) 229
Палитра Graphic Styles (Графические стили) 231
Проект «Road» (Дорога) 231
Работа с эффектами. Меню Effect (Эффект) 233
Об эффектах 233
Эффекты 3D (Classic) (объемное изображение) 234
Эффекты 3D and Materials
(объемное изображение и материалы) 238
Сводка по эффектам 241

Урок 17. ИМПОРТ И ЭКСПОРТ 243
Импорт в Adobe Illustrator 244
Импорт текста 244
Импорт векторных изображений 244
Импорт растровых изображений 246
Экспорт из Adobe Illustrator 250
Использование нескольких монтажных областей
при различных размерах вывода 252

Урок 18. УЗОРНАЯ ЗАЛИВКА 253
Особенности работы с узорами 254
Изменение стандартных узоров 255
Создание заказного узора 256
Создание узора «кирпичная кладка» 257
Библиотеки узоров 258

Урок 19. КИСТИ 261
Кисти 262
Типы кистей 262
Палитра Вrushes (Кисти) 263
Растровые изображения в кистях 264
Параметры кистей 264
Проект «Дикая яблоня» 275
Рисование яблони 275
Яблоня в цвету 276

Урок 20. СИМВОЛЫ 281
Палитра Symbols (Символы) 282
Создание символа 282
Замена образца символа 283
Отмена связи с символом 283
Инструменты работы с символами 283
Создание наборов символов 284
Перемещение символов в наборе 285
Уплотнение и разброс символов в наборе 285
Изменение размера символов в наборе 285
Поворот символов 285
Изменение цвета 286
Изменение прозрачности 286
Присвоение стиля 287
Быстрое редактирование символа в палитре 287
Библиотеки символов 288

Урок 21. РАБОТА С ПРОЗРАЧНОСТЬЮ 290
О прозрачности 291
Палитра Transparency (Прозрачность) 292
Создание прозрачности 294
Подготовка к печати объектов с прозрачностью 294
Сведения об обработке прозрачности 294
Команда Flatten Transparency
(Сведение прозрачности) 295
Пример 1. Векторные объекты с режимами смешивания 296
Пример 2. Векторные объекты на растровом изображении 298
Пример 3. «Тени на плетени» 302

Урок 22. ПОДГОТОВКА ГРАФИКИ ДЛЯ WEB 305
История развития Web-дизайна 306
Растровые форматы файлов для Web 309
Формат SVG (Scalable Vector Graphics) 310
CSS в Adobe Illustrator 312
Палитра CSS Properties
(Свойства каскадных таблиц стилей) 312
Экспорт частей макета для различных устройств 315
Пиксельная плотность 315
Палитра Asset Export (Экспорт ресурсов) 316
Команда Save for Web 318

Тучкевич Евгения Ивановна, сертифицированный инструктор (Adobe Certified Instructor) по продуктам Adobe Photoshop СС и Adobe Illustrator СС, имеющая многолетний опыт подготовки профессиональных дизайнеров по программам магистратуры и краткосрочного обучения по компьютерному дизайну. Руководитель специальности «Компьютерный дизайн» в Высшей инженерной школе ИДО СПбПУ, Член Союза Дизайнеров России, директор МОНЦ «Autodesk-Политехник». Профессионал в области дизайна и рекламы, имеющая опыт рекламной работы со многими компаниями и журналами, автор курса «Advertising promotions: development & implementation», автор курсов по продуктам «Adobe». Автор бестселлеров серии «Adobe Photoshop. Мастер-класс Евгении Тучкевич» и «Самоучитель Adobe Illustrator CS5/CS6/СС/CC2018».

Опубликовано

Представляем книгу “Qt 6. Разработка оконных приложений на C++”

Qt 6. Разработка оконных приложений на C++

В нашем издательстве опубликована книга Николая Прохоренка “Qt 6. Разработка оконных приложений на C++“.

Описываются базовые возможности библиотеки Qt, позволяющей создавать приложения с графическим интерфейсом на языке C++. Книга ориентирована на тех, кто уже знаком с языком программирования C++ и хотел бы научиться разрабатывать оконные приложения. Рассматриваются способы обработки событий, управление свойствами окна, создание формы, а также все основные компоненты (кнопки, текстовые поля, списки, таблицы, меню и др.) и варианты их размещения внутри окна. Книга содержит большое количество практических примеров, помогающих начать разрабатывать приложения с графическим интерфейсом самостоятельно. Она будет полезна в качестве самоучителя для начинающих разработчиков. Читатели, уже имеющие опыт, могут использовать ее как удобный справочник.

  • Управление окном приложения
  • Обработка сигналов и событий
  • Размещение компонентов внутри окна
  • Основные компоненты
  • Списки и таблицы
  • Работа с графикой и изображениями
  • Графическая сцена
  • Диалоговые окна
  • SDI- и MDI-приложения
  • Редактор Qt Creator

От автора

Qt — это популярная библиотека, позволяющая создавать приложения с графическим интерфейсом на языке C++. Она очень проста в использовании и идеально подходит для разработки приложений практически любой сложности. Библиотека является кросс-платформенной, поэтому мы можем создавать оконные приложения под Windows, Linux и Mac, а также мобильные приложения под Android и iOS.

В этой книге мы рассмотрим процесс создания оконных приложений применитель- но к операционной системе Windows. Для сборки приложений будем пользоваться компилятором MinGW, а для набора кода — редактором Qt Creator, входящим в состав библиотеки Qt.

Для полного понимания материала книги от читателя потребуется знание языка C++.

Чтобы уменьшить размер книги, основная часть кода примеров вынесена в отдельные проекты, которые расположены в электронном архиве. Электронный архив можно загрузить с сервера издательства «БХВ-Петербург» по ссылке https://zip.bhv.ru/9785977511803.zip или со страницы книги на сайте www.bhv.ru (см. приложение).

Желаю приятного изучения и надеюсь, что книга поможет вам реализовать как самые простые, так и самые сложные приложения.

Книгу можно купить в нашем интернет-магазине.

Введение………………………………………………………………………………………………….. 9

Глава 1. Первые шаги……………………………………………………………………………. 11

1.1. Создание структуры каталогов…………………………………………………………………………………………. 12

1.2. Добавление пути в переменную PATH………………………………………………………………………………. 12

1.3. Работа с командной строкой……………………………………………………………………………………………… 14

1.4. Установка Qt 6…………………………………………………………………………………………………………………….. 14

1.5. Настройка редактора Qt Creator……………………………………………………………………………………….. 23

1.6. Первая программа на Qt…………………………………………………………………………………………………….. 27

1.7. Структура программы………………………………………………………………………………………………………… 32

1.8. Запуск приложения двойным щелчком на значке файла………………………………………………… 35

1.9. ООП-стиль создания окна…………………………………………………………………………………………………… 36

1.10. Создание проекта с формой…………………………………………………………………………………………….. 39

1.11. Доступ к документации……………………………………………………………………………………………………. 45

Глава 2. Работа с символами и строками……………………………………………….. 47

2.1. Псевдонимы для элементарных типов………………………………………………………………………………. 47

2.2. Класс QChar: символ в кодировке Unicode………………………………………………………………………. 48

2.2.1. Создание объекта…………………………………………………………………………………………………….. 48

2.2.2. Изменение регистра символа…………………………………………………………………………………… 50

2.2.3. Проверка типа содержимого символа……………………………………………………………………. 51

2.3. Класс QString: строка в кодировке Unicode……………………………………………………………………… 53

2.3.1. Создание объекта…………………………………………………………………………………………………….. 53

2.3.2. Преобразование объекта в другой тип данных…………………………………………………….. 54

2.3.3. Получение и изменение размера строки………………………………………………………………… 55

2.3.4. Доступ к отдельным символам……………………………………………………………………………….. 58

2.3.5. Перебор символов строки………………………………………………………………………………………… 59

2.3.6. Итераторы…………………………………………………………………………………………………………………. 60

2.3.7. Конкатенация строк…………………………………………………………………………………………………. 62

2.3.8. Добавление и вставка символов……………………………………………………………………………… 63

2.3.9. Удаление символов………………………………………………………………………………………………….. 64

2.3.10. Изменение регистра символов………………………………………………………………………………. 68

2.3.11. Получение фрагмента строки……………………………………………………………………………….. 69

2.3.12. Поиск в строке………………………………………………………………………………………………………… 70

2.3.13. Замена в строке………………………………………………………………………………………………………. 73

2.3.14. Сравнение строк…………………………………………………………………………………………………….. 75

2.3.15. Преобразование строки в число……………………………………………………………………………. 77

2.3.16. Преобразование числа в строку……………………………………………………………………………. 79

2.3.17. Форматирование строки………………………………………………………………………………………… 80

2.3.18. Разделение строки на подстроки по разделителю………………………………………………. 81

2.4. Класс QStringList: список строк………………………………………………………………………………………… 83

2.4.1. Создание объекта…………………………………………………………………………………………………….. 83

2.4.2. Вставка элементов……………………………………………………………………………………………………. 84

2.4.3. Определение и изменение количества элементов………………………………………………….. 87

2.4.4. Удаление элементов…………………………………………………………………………………………………. 88

2.4.5. Доступ к элементам………………………………………………………………………………………………….. 91

2.4.6. Итераторы…………………………………………………………………………………………………………………. 93

2.4.7. Перебор элементов…………………………………………………………………………………………………… 95

2.4.8. Сортировка списка…………………………………………………………………………………………………… 95

2.4.9. Получение фрагмента списка………………………………………………………………………………….. 95

2.4.10. Поиск элементов…………………………………………………………………………………………………….. 96

2.4.11. Замена элементов…………………………………………………………………………………………………… 98

2.4.12. Фильтрация списка………………………………………………………………………………………………… 99

2.4.13. Преобразование списка в строку………………………………………………………………………… 100

Глава 3. Управление окном приложения……………………………………………… 101

3.1. Создание и отображение окна…………………………………………………………………………………………. 101

3.2. Указание типа окна…………………………………………………………………………………………………………… 103

3.3. Изменение и получение размеров окна…………………………………………………………………………… 105

3.4. Местоположение окна на экране…………………………………………………………………………………….. 109

3.4.1. Получение информации о размере экрана…………………………………………………………… 110

3.5. Указание координат и размеров……………………………………………………………………………………… 113

3.5.1. Класс QPoint: координаты точки…………………………………………………………………………. 113

3.5.2. Класс QSize: размеры прямоугольной области…………………………………………………… 115

3.5.3. Класс QRect: координаты и размеры прямоугольной области………………………….. 118

3.6. Разворачивание и сворачивание окна…………………………………………………………………………….. 125

3.7. Управление прозрачностью окна……………………………………………………………………………………. 127

3.8. Модальные окна……………………………………………………………………………………………………………….. 128

3.9. Смена значка в заголовке окна………………………………………………………………………………………… 130

3.10. Изменение цвета фона окна……………………………………………………………………………………………. 132

3.11. Использование изображения в качестве фона……………………………………………………………… 134

3.12. Создание окна произвольной формы……………………………………………………………………………. 136

3.13. Всплывающие подсказки……………………………………………………………………………………………….. 137

3.14. Закрытие окна из программы………………………………………………………………………………………… 139

Глава 4. Обработка сигналов и событий………………………………………………. 141

4.1. Назначение обработчиков сигналов………………………………………………………………………………. 141

4.2. Блокировка и удаление обработчика……………………………………………………………………………… 147

4.3. Генерация сигнала из программы…………………………………………………………………………………… 151

4.4. Использование таймеров………………………………………………………………………………………………….. 153

4.5. Класс QTimer: таймер……………………………………………………………………………………………………….. 156

4.6. Перехват всех событий…………………………………………………………………………………………………….. 160

4.7. События окна…………………………………………………………………………………………………………………….. 164

4.7.1. Изменение состояния окна…………………………………………………………………………………….. 164

4.7.2. Изменение положения окна и его размеров…………………………………………………………. 167

4.7.3. Перерисовка окна или его части…………………………………………………………………………… 169

4.7.4. Предотвращение закрытия окна…………………………………………………………………………… 170

4.8. События клавиатуры………………………………………………………………………………………………………… 171

4.8.1. Установка фокуса ввода………………………………………………………………………………………… 172

4.8.2. Назначение клавиш быстрого доступа………………………………………………………………… 177

4.8.3. Нажатие и отпускание клавиши клавиатуры……………………………………………………… 181

4.9. События мыши………………………………………………………………………………………………………………….. 183

4.9.1. Нажатие и отпускание кнопки мыши…………………………………………………………………… 183

4.9.2. Перемещение указателя…………………………………………………………………………………………. 185

4.9.3. Наведение и выведение указателя………………………………………………………………………… 186

4.9.4. Прокрутка колесика мыши……………………………………………………………………………………. 186

4.9.5. Изменение внешнего вида указателя мыши…………………………………………………………. 187

4.10. Технология drag & drop………………………………………………………………………………………………….. 190

4.10.1. Запуск перетаскивания………………………………………………………………………………………… 190

4.10.2. Класс QMimeData…………………………………………………………………………………………………. 192

4.10.3. Обработка сброса………………………………………………………………………………………………… 195

4.11. Работа с буфером обмена………………………………………………………………………………………………. 198

Глава 5. Размещение нескольких компонентов в окне…………………………. 199

5.1. Абсолютное позиционирование………………………………………………………………………………………. 199

5.2. Горизонтальное и вертикальное выравнивание…………………………………………………………….. 200

5.3. Выравнивание по сетке…………………………………………………………………………………………………….. 204

5.4. Выравнивание компонентов формы………………………………………………………………………………… 206

5.5. Классы QStackedLayout и QStackedWidget…………………………………………………………………….. 209

5.6. Класс QSizePolicy……………………………………………………………………………………………………………… 210

5.7. Объединение компонентов в группу……………………………………………………………………………….. 212

5.8. Панель с рамкой………………………………………………………………………………………………………………… 214

5.9. Панель с вкладками………………………………………………………………………………………………………….. 216

5.10. Компонент «аккордеон»…………………………………………………………………………………………………. 221

5.11. Панели с изменяемым размером……………………………………………………………………………………. 224

5.12. Область с полосами прокрутки……………………………………………………………………………………… 226

Глава 6. Основные компоненты…………………………………………………………… 229

6.1. Надпись……………………………………………………………………………………………………………………………… 229

6.2. Командная кнопка…………………………………………………………………………………………………………….. 234

6.3. Переключатель………………………………………………………………………………………………………………….. 237

6.4. Флажок………………………………………………………………………………………………………………………………. 238

6.5. Однострочное текстовое поле…………………………………………………………………………………………. 239

6.5.1. Основные методы и сигналы…………………………………………………………………………………. 239

6.5.2. Ввод данных по маске……………………………………………………………………………………………. 245

6.5.3. Контроль ввода………………………………………………………………………………………………………. 246

6.6. Многострочное текстовое поле……………………………………………………………………………………….. 247

6.6.1. Основные методы и сигналы…………………………………………………………………………………. 247

6.6.2. Изменение настроек поля………………………………………………………………………………………. 251

6.6.3. Изменение характеристик текста и фона……………………………………………………………… 254

6.6.4. Класс QTextDocument…………………………………………………………………………………………….. 256

6.6.5. Класс QTextCursor………………………………………………………………………………………………….. 260

6.7. Текстовый браузер……………………………………………………………………………………………………………. 265

6.8. Поля для ввода целых и вещественных чисел………………………………………………………………… 267

6.9. Поля для ввода даты и времени……………………………………………………………………………………….. 270

6.10. Календарь……………………………………………………………………………………………………………………….. 273

6.11. Электронный индикатор………………………………………………………………………………………………… 276

6.12. Индикатор процесса……………………………………………………………………………………………………….. 277

6.13. Шкала с ползунком…………………………………………………………………………………………………………. 279

6.14. Класс QDial……………………………………………………………………………………………………………………… 281

6.15. Полоса прокрутки…………………………………………………………………………………………………………… 282

Глава 7. Списки и таблицы………………………………………………………………….. 283

7.1. Раскрывающийся список………………………………………………………………………………………………….. 283

7.1.1. Добавление, изменение и удаление элементов……………………………………………………. 283

7.1.2. Изменение настроек……………………………………………………………………………………………….. 285

7.1.3. Поиск элемента внутри списка……………………………………………………………………………… 287

7.1.4. Сигналы…………………………………………………………………………………………………………………… 288

7.2. Список для выбора шрифта……………………………………………………………………………………………… 288

7.3. Роли элементов………………………………………………………………………………………………………………….. 289

7.4. Модели………………………………………………………………………………………………………………………………. 290

7.4.1. Доступ к данным внутри модели………………………………………………………………………….. 290

7.4.2. Класс QStringListModel…………………………………………………………………………………………. 292

7.4.3. Класс QStandardItemModel……………………………………………………………………………………. 293

7.4.4. Класс QStandardItem……………………………………………………………………………………………… 297

7.5. Представления…………………………………………………………………………………………………………………… 302

7.5.1. Класс QAbstractItemView……………………………………………………………………………………….. 302

7.5.2. Простой список………………………………………………………………………………………………………. 307

7.5.3. Таблица…………………………………………………………………………………………………………………… 309

7.5.4. Иерархический список…………………………………………………………………………………………… 312

7.5.5. Управление заголовками строк и столбцов…………………………………………………………. 315

7.6. Управление выделением элементов………………………………………………………………………………… 319

7.7. Промежуточные модели…………………………………………………………………………………………………… 322

Глава 8. Работа с графикой………………………………………………………………….. 325

8.1. Вспомогательные классы…………………………………………………………………………………………………. 325

8.1.1. Класс QColor: цвет…………………………………………………………………………………………………. 326

8.1.2. Класс QPen: перо……………………………………………………………………………………………………. 332

8.1.3. Класс QBrush: кисть……………………………………………………………………………………………….. 333

8.1.4. Класс QLine: линия………………………………………………………………………………………………… 334

8.1.5. Класс QPolygon: многоугольник…………………………………………………………………………… 335

8.1.6. Класс QFont: шрифт………………………………………………………………………………………………. 337

8.2. Класс QPainter………………………………………………………………………………………………………………….. 340

8.2.1. Рисование линий и фигур………………………………………………………………………………………. 341

8.2.2. Вывод текста…………………………………………………………………………………………………………… 344

8.2.3. Вывод изображения……………………………………………………………………………………………….. 346

8.2.4. Преобразование систем координат………………………………………………………………………. 348

8.2.5. Сохранение команд рисования в файл…………………………………………………………………. 349

8.3. Работа с изображениями………………………………………………………………………………………………….. 350

8.3.1. Класс QPixmap……………………………………………………………………………………………………….. 350

8.3.2. Класс QBitmap………………………………………………………………………………………………………… 354

8.3.3. Класс QImage………………………………………………………………………………………………………….. 355

8.3.4. Класс QIcon…………………………………………………………………………………………………………….. 360

Глава 9. Графическая сцена…………………………………………………………………. 363

9.1. Класс QGraphicsScene: сцена………………………………………………………………………………………….. 363

9.1.1. Настройка параметров сцены………………………………………………………………………………. 364

9.1.2. Добавление и удаление графических объектов…………………………………………………… 365

9.1.3. Добавление компонентов на сцену………………………………………………………………………. 366

9.1.4. Поиск объектов……………………………………………………………………………………………………….. 367

9.1.5. Управление фокусом ввода…………………………………………………………………………………… 368

9.1.6. Управление выделением объектов……………………………………………………………………….. 369

9.1.7. Прочие методы и сигналы……………………………………………………………………………………… 370

9.2. Класс QGraphicsView: представление…………………………………………………………………………….. 371

9.2.1. Настройка параметров представления………………………………………………………………… 372

9.2.2. Преобразования между координатами представления и сцены………………………… 373

9.2.3. Поиск объектов……………………………………………………………………………………………………….. 374

9.2.4. Трансформация систем координат……………………………………………………………………….. 375

9.2.5. Прочие методы……………………………………………………………………………………………………….. 375

9.3. Класс QGraphicsItem: базовый класс для графических объектов………………………………… 376

9.3.1. Настройка параметров объекта……………………………………………………………………………. 377

9.3.2. Трансформация объекта………………………………………………………………………………………… 381

9.3.3. Прочие методы……………………………………………………………………………………………………….. 381

9.4. Графические объекты……………………………………………………………………………………………………….. 382

9.4.1. Линия……………………………………………………………………………………………………………………….. 383

9.4.2. Класс QAbstractGraphicsShapeItem………………………………………………………………………. 383

9.4.3. Прямоугольник……………………………………………………………………………………………………….. 384

9.4.4. Многоугольник……………………………………………………………………………………………………….. 384

9.4.5. Эллипс…………………………………………………………………………………………………………………….. 384

9.4.6. Изображение…………………………………………………………………………………………………………… 385

9.4.7. Простой текст…………………………………………………………………………………………………………. 386

9.4.8. Форматированный текст……………………………………………………………………………………….. 387

9.5. Группировка объектов……………………………………………………………………………………………………… 389

9.6. Эффекты…………………………………………………………………………………………………………………………….. 389

9.6.1. Класс QGraphicsEffect……………………………………………………………………………………………. 390

9.6.2. Тень………………………………………………………………………………………………………………………….. 390

9.6.3. Размытие…………………………………………………………………………………………………………………. 392

9.6.4. Изменение цвета……………………………………………………………………………………………………… 392

9.6.5. Изменение прозрачности……………………………………………………………………………………….. 393

9.7. Обработка событий………………………………………………………………………………………………………….. 394

9.7.1. События клавиатуры……………………………………………………………………………………………… 394

9.7.2. События мыши……………………………………………………………………………………………………….. 395

9.7.3. Обработка перетаскивания и сброса……………………………………………………………………. 399

9.7.4. Фильтрация событий……………………………………………………………………………………………… 401

9.7.5. Обработка изменения состояния объекта……………………………………………………………. 401

Глава 10. Диалоговые окна………………………………………………………………….. 405

10.1. Пользовательские диалоговые окна……………………………………………………………………………… 405

10.2. Класс QDialogButtonBox………………………………………………………………………………………………… 408

10.3. Класс QMessageBox………………………………………………………………………………………………………… 411

10.3.1. Основные методы и сигналы……………………………………………………………………………… 413

10.3.2. Окно для вывода обычного сообщения…………………………………………………………….. 415

10.3.3. Окно запроса подтверждения……………………………………………………………………………. 415

10.3.4. Окно для вывода предупреждающего сообщения…………………………………………… 416

10.3.5. Окно для вывода критического сообщения………………………………………………………. 417

10.3.6. Окно «О программе»…………………………………………………………………………………………… 418

10.3.7. Окно «About Qt»………………………………………………………………………………………………….. 418

10.4. Класс QInputDialog………………………………………………………………………………………………………… 418

10.4.1. Основные методы и сигналы……………………………………………………………………………… 419

10.4.2. Окна для ввода строки……………………………………………………………………………………….. 422

10.4.3. Окно для ввода целого числа…………………………………………………………………………….. 423

10.4.4. Окно для ввода вещественного числа……………………………………………………………….. 424

10.4.5. Окно для выбора пункта из списка……………………………………………………………………. 425

10.5. Класс QFileDialog…………………………………………………………………………………………………………… 426

10.5.1. Основные методы и сигналы……………………………………………………………………………… 426

10.5.2. Окно для выбора каталога…………………………………………………………………………………. 429

10.5.3. Окно для открытия файла………………………………………………………………………………….. 430

10.5.4. Окно для сохранения файла………………………………………………………………………………. 431

10.6. Окно для выбора цвета…………………………………………………………………………………………………… 432

10.7. Окно для выбора шрифта……………………………………………………………………………………………….. 433

10.8. Окно для вывода сообщения об ошибке……………………………………………………………………….. 434

10.9. Окно с индикатором хода процесса……………………………………………………………………………… 435

10.10. Создание многостраничного мастера………………………………………………………………………… 437

10.10.1. Класс QWizard…………………………………………………………………………………………………… 437

10.10.2. Класс QWizardPage………………………………………………………………………………………….. 442

Глава 11. Создание SDI- и MDI-приложений………………………………………… 447

11.1. Создание главного окна приложения……………………………………………………………………………. 447

11.2. Меню………………………………………………………………………………………………………………………………… 454

11.2.1. Класс QMenuBar…………………………………………………………………………………………………. 454

11.2.2. Класс QMenu……………………………………………………………………………………………………….. 455

11.2.3. Контекстное меню………………………………………………………………………………………………. 459

11.2.4. Класс QAction……………………………………………………………………………………………………… 460

11.2.5. Объединение переключателей в группу…………………………………………………………… 464

11.3. Панели инструментов…………………………………………………………………………………………………….. 466

11.3.1. Класс QToolBar…………………………………………………………………………………………………… 466

11.3.2. Класс QToolButton……………………………………………………………………………………………… 469

11.4. Прикрепляемые панели………………………………………………………………………………………………….. 470

11.5. Управление строкой состояния……………………………………………………………………………………… 472

11.6. MDI-приложения…………………………………………………………………………………………………………….. 474

11.6.1. Класс QMdiArea………………………………………………………………………………………………….. 474

11.6.2. Класс QMdiSubWindow………………………………………………………………………………………. 478

11.7. Добавление значка приложения в область уведомлений……………………………………………. 479

Заключение………………………………………………………………………………………….. 483

Приложение. Описание электронного архива………………………………………. 485

Предметный указатель…………………………………………………………………………. 487

Опубликовано

Python с нуля до анализа данных!

Python — это просто. Пошаговое руководство по программированию и анализу данных

Представляем книгу “Python — это просто. Пошаговое руководство по программированию и анализу данных“.

Рассмотрены основы синтаксиса языка Python на примере дистрибутива Anaconda. Показаны приложения IPython, Spyder IDE, Jupyter Notebook. Описан синтаксис переменных, функций, циклов. Подробно изучаются структуры данных в Python: строки, списки, кортежи, множества и словари. Объясняется понятие классов и их применение в объектно-ориентированном программировании. Описаны возможности библиотеки обработки изображений Pillow, библиотеки Tkinter для создания приложений с графическим интерфейсом. Отдельный раздел посвящен обработке ошибок и исключений в программах. Рассматриваются библиотеки NumPy и Pandas, приводятся практические примеры их использования для анализа и обработки данных. Описана библиотека Matplotlib и ее возможности в сфере визуализации данных.

По ходу изучения материала книги всегда держите перед собой открытую среду Jupyter Notebook, т. к. это позволит вам сразу же практиковаться в написании кода и получить уверенное представление об основах языка. Ничто так не стимулирует обучение, как живой результат на собственном компьютере. Все примеры кода, использованные в этой книге, я загрузил в свой репозиторий на GitHub для вашего ознакомления: https://github.com/nilabhnishchhal/Python-Made-Easy.

Эта книга исповедует активный подход к обучению и вдохновляет читателя исследовать и экспериментировать, а не просто впитывать теорию.

• Исследуйте возможности Python с использованием дистрибутива Anaconda
• Узнайте, как установить и использовать Python на своем компьютере
• Создавайте свои переменные, объекты и изучите их синтаксис
• Изучите встроенные типы объектов Python, такие как строки, списки, кортежи, множества и словари
• Научитесь вызывать встроенные функции, а также писать свои собственные
• Организуйте свой код и другие объекты в более крупные компоненты с помощью модулей
• Исследуйте классы — инструмент объектно-ориентированного программирования
• Пишите сложный код, научитесь обрабатывать ошибки и исключения
• Узнайте о массивах NumPy и операциях с ними
• Изучите анализ данных с помощью Pandas
• Погрузитесь в захватывающий мир визуализации с использованием Matplotlib
• Научитесь создавать приложения Python с графическим интерфейсом

Изучите программирование на Python, начиная с самых основ и заканчивая использованием библиотек для анализа данных и визуализации. Эта книга поможет освоить Python как абсолютным новичкам, так и опытным программистам, знакомым с другими языками. В нее включены все актуальные на сегодняшний день расширения Python.

Книгу можно купить в нашем интернет-магазине.

Предисловие…………………………………………………………………………………………… 19

О книге………………………………………………………………………………………………………………………………………… 19

Как получить максимум от этой книги…………………………………………………………………………………….. 19

Структура книги………………………………………………………………………………………………………………………… 20

Об авторе……………………………………………………………………………………………….. 23

Благодарности……………………………………………………………………………………….. 27

Глава 1. Введение в Data Science и основы программирования………………. 29

1.1. Введение в Data Science……………………………………………………………………………………………………… 29

1.1.1. Зачем нам Data Science?……………………………………………………………………………………………….. 30

1.1.2. История Data Science…………………………………………………………………………………………………….. 31

1.1.2.1. Данные в древности…………………………………………………………………………………………….. 31

1.1.2.2. Появление статистики…………………………………………………………………………………………. 32

1.1.2.3. Зарождение современного хранения данных……………………………………………………. 32

1.1.2.4. Появление больших центров обработки данных……………………………………………… 33

1.1.2.5. Появление Интернета………………………………………………………………………………………….. 33

1.1.3. Настоящее и будущее Data Science…………………………………………………………………………….. 34

1.1.4. Чем занимается специалист по Data Science?…………………………………………………………….. 35

1.1.5. Как это делается?………………………………………………………………………………………………………….. 35

1.1.6. Предпосылки для Data Science…………………………………………………………………………………….. 35

1.1.7. Профессии в области Data Science………………………………………………………………………………. 36

1.2. От Data Science к программированию………………………………………………………………………………. 37

1.3. Основы компьютерного программирования…………………………………………………………………….. 38

1.3.1. Что такое программирование?…………………………………………………………………………………….. 38

1.3.2. Компьютерный алгоритм……………………………………………………………………………………………… 39

1.3.2.1. Последовательные операторы……………………………………………………………………………. 40

1.3.2.2. Условные операторы…………………………………………………………………………………………… 41

1.3.2.3. Цикл или итерации………………………………………………………………………………………………. 41

1.3.3. Блок-схемы…………………………………………………………………………………………………………………….. 41

1.3.4. Что такое язык программирования?……………………………………………………………………………. 42

1.3.5. Что такое исходный код?……………………………………………………………………………………………… 44

1.3.6. Как запустить исходный код?……………………………………………………………………………………… 45

1.3.7. Компилятор……………………………………………………………………………………………………………………. 45

1.3.8. Интерпретатор………………………………………………………………………………………………………………. 46

1.3.8.1. Сравнение компилятора и интерпретатора………………………………………………………. 47

1.3.9. Что такое интегрированная среда разработки (IDE)?……………………………………………….. 47

1.3.10. Spyder IDE……………………………………………………………………………………………………………………. 48

1.4. Резюме………………………………………………………………………………………………………………………………….. 49

1.5. Упражнения…………………………………………………………………………………………………………………………. 49

1.5.1. Ответьте на вопросы…………………………………………………………………………………………………….. 49

1.5.2. Правда или ложь…………………………………………………………………………………………………………… 49

1.5.3. Практические задания………………………………………………………………………………………………….. 50

1.5.4. Изучите самостоятельно………………………………………………………………………………………………. 50

Глава 2. Введение в Python…………………………………………………………………….. 51

2.1. Что такое Python?……………………………………………………………………………………………………………….. 51

2.1.1. Почему именно Python?………………………………………………………………………………………………… 51

2.1.2. Появление Python………………………………………………………………………………………………………….. 52

2.1.3. Python и другие языки программирования…………………………………………………………………. 53

2.1.4. Философия Python…………………………………………………………………………………………………………. 55

2.2. Преимущества Python по сравнению с другими языками……………………………………………….. 55

2.2.1. Простота………………………………………………………………………………………………………………………… 55

2.2.2. Легкость в изучении………………………………………………………………………………………………………. 55

2.2.3. Свободный и открытый исходный код……………………………………………………………………….. 55

2.2.4. Высокоуровневость………………………………………………………………………………………………………. 56

2.2.5. Портативность………………………………………………………………………………………………………………. 56

2.2.6. Интерпретируемость…………………………………………………………………………………………………….. 56

2.2.7. Интерпретаторы Python……………………………………………………………………………………………….. 56

2.2.7.1. IPython………………………………………………………………………………………………………………….. 57

2.2.7.2. CPython…………………………………………………………………………………………………………………. 57

2.2.7.3. IronPython…………………………………………………………………………………………………………….. 58

2.2.7.4. Jython…………………………………………………………………………………………………………………….. 58

2.2.7.5. PyPy……………………………………………………………………………………………………………………….. 58

2.2.7.6. PythonNet………………………………………………………………………………………………………………. 59

2.2.7.7. Stackless Python……………………………………………………………………………………………………. 59

2.2.8. Объектная ориентированность……………………………………………………………………………………. 59

2.2.9. Расширяемость………………………………………………………………………………………………………………. 60

2.2.10. Встраиваемость…………………………………………………………………………………………………………… 60

2.2.11. Внушительные библиотеки………………………………………………………………………………………… 60

2.2.12. Python для начинающих…………………………………………………………………………………………….. 61

2.3. Версии Python……………………………………………………………………………………………………………………… 62

2.3.1. Python 2………………………………………………………………………………………………………………………….. 62

2.3.2. Python 2.7……………………………………………………………………………………………………………………….. 62

2.3.3. Python 3………………………………………………………………………………………………………………………….. 62

2.3.4. Ключевые отличия версий……………………………………………………………………………………………. 63

2.4. Как установить и использовать Python…………………………………………………………………………….. 63

2.4.1. Дистрибутив Anaconda………………………………………………………………………………………………… 63

2.4.2. Почему именно Anaconda?…………………………………………………………………………………………… 64

2.4.3. Установка Anaconda в Windows………………………………………………………………………………….. 64

2.4.4. Установка Anaconda в MacOS…………………………………………………………………………………….. 68

2.5. Запуск Python через командную строку…………………………………………………………………………… 71

2.6. Приложения Anaconda……………………………………………………………………………………………………….. 73

2.7. Консоль IPython Qt……………………………………………………………………………………………………………… 73

2.8. Spyder IDE……………………………………………………………………………………………………………………………. 75

2.8.1. Компоненты Spyder IDE……………………………………………………………………………………………….. 76

2.8.1.1. Редактор текста……………………………………………………………………………………………………. 76

2.8.1.2. IPython консоль……………………………………………………………………………………………………. 77

2.8.1.3. Обозреватель переменных………………………………………………………………………………….. 77

2.8.1.4. Справка…………………………………………………………………………………………………………………. 79

2.9. Jupyter Notebook………………………………………………………………………………………………………………….. 80

2.9.1. Приложение Jupyter Notebook……………………………………………………………………………………… 80

2.9.2. Основные возможности веб-приложения……………………………………………………………………. 80

2.9.3. Документы Notebook…………………………………………………………………………………………………….. 80

2.9.4. Запуск сервера Notebook……………………………………………………………………………………………… 81

2.9.5. Создание нового документа Notebook………………………………………………………………………… 82

2.9.6. Открытие документа Notebook……………………………………………………………………………………. 82

2.9.7. Интерфейс документа Notebook………………………………………………………………………………….. 82

2.9.8. Структура документа Notebook………………………………………………………………………………….. 83

2.9.9. Ячейки кода…………………………………………………………………………………………………………………… 83

2.9.10. Ячейки Markdown……………………………………………………………………………………………………….. 83

2.9.11. Неформатированные ячейки……………………………………………………………………………………… 84

2.9.12. Рабочий процесс…………………………………………………………………………………………………………. 84

2.9.13. Горячие клавиши………………………………………………………………………………………………………… 84

2.9.14. Построение графиков………………………………………………………………………………………………….. 85

2.9.15. Совместимость с браузерами…………………………………………………………………………………….. 85

2.10. Что лучше использовать?…………………………………………………………………………………………………. 85

2.11. Резюме………………………………………………………………………………………………………………………………… 86

2.12. Упражнения……………………………………………………………………………………………………………………….. 87

2.12.1. Ответьте на вопросы…………………………………………………………………………………………………… 87

2.12.2. Правда или ложь…………………………………………………………………………………………………………. 87

2.12.3. Изучите самостоятельно…………………………………………………………………………………………….. 88

Глава 3. Основы Python…………………………………………………………………………. 89

3.1. Запуск Python………………………………………………………………………………………………………………………. 89

3.1.1. Использование Spyder IDE…………………………………………………………………………………………… 89

3.1.2. Использование Jupyter Notebook…………………………………………………………………………………. 91

3.2. Начнем с «Hello World!»……………………………………………………………………………………………………… 92

3.3. Использование Python как калькулятора…………………………………………………………………………. 93

3.3.1. Числа………………………………………………………………………………………………………………………………. 93

3.3.2. Строки……………………………………………………………………………………………………………………………. 94

3.3.2.1. Конкатенация и повторение……………………………………………………………………………….. 95

3.3.2.2. Индексирование…………………………………………………………………………………………………… 95

3.3.2.3. Срезы…………………………………………………………………………………………………………………….. 96

3.4. Синтаксис кода Python……………………………………………………………………………………………………….. 97

3.4.1. Выражения…………………………………………………………………………………………………………………….. 97

3.4.1.1. Окончание выражений………………………………………………………………………………………… 98

3.4.2. Переменные и присваивание значений……………………………………………………………………….. 99

3.4.3. Имена переменных и ключевые слова………………………………………………………………………… 99

3.4.4. Выполнение выражений…………………………………………………………………………………………….. 100

3.5. Первые шаги в программировании………………………………………………………………………………….. 101

3.5.1. Подробнее о функции print()………………………………………………………………………………………. 102

3.5.2. Форматированный вывод…………………………………………………………………………………………… 104

3.5.3. Простейшая геометрия и print()…………………………………………………………………………………. 104

3.6. Поиск ошибок……………………………………………………………………………………………………………………. 105

3.6.1. Синтаксические ошибки…………………………………………………………………………………………….. 105

3.6.2. Ошибки времени выполнения…………………………………………………………………………………….. 106

3.6.3. Семантические ошибки………………………………………………………………………………………………. 106

3.6.4. Когда никакие средства не помогают……………………………………………………………………….. 107

3.7. Резюме………………………………………………………………………………………………………………………………… 108

3.8. Упражнения……………………………………………………………………………………………………………………….. 108

3.8.1. Ответьте на вопросы…………………………………………………………………………………………………… 108

3.8.2. Правда или ложь…………………………………………………………………………………………………………. 108

3.8.3. Практические задания………………………………………………………………………………………………… 109

3.8.4. Изучите самостоятельно…………………………………………………………………………………………….. 110

Глава 4. Объекты и операторы в Python………………………………………………. 111

4.1. Переменные……………………………………………………………………………………………………………………….. 111

4.1.1. Оператор присваивания……………………………………………………………………………………………… 112

4.1.2. Имена переменных……………………………………………………………………………………………………… 112

4.2. Структура программы……………………………………………………………………………………………………… 112

4.3. Объекты……………………………………………………………………………………………………………………………… 113

4.3.1. Классификация объектов……………………………………………………………………………………………. 113

4.3.2. Преимущества встроенных типов……………………………………………………………………………… 114

4.3.3. Идентификаторы, значения и типы объектов…………………………………………………………… 116

4.3.4. Изменяемые и неизменяемые объекты………………………………………………………………………. 117

4.4. Стандартная иерархия типов………………………………………………………………………………………….. 117

4.4.1. Встроенные константы………………………………………………………………………………………………. 118

4.4.2. Числовые типы…………………………………………………………………………………………………………….. 118

4.4.3. Последовательности…………………………………………………………………………………………………… 119

4.4.3.1. Неизменяемые последовательности………………………………………………………………… 119

4.4.3.2. Изменяемые последовательности…………………………………………………………………….. 121

4.4.4. Множества…………………………………………………………………………………………………………………… 121

4.4.5. Сопоставления…………………………………………………………………………………………………………….. 122

4.4.6. Вызываемые типы……………………………………………………………………………………………………….. 122

4.4.7. Модули………………………………………………………………………………………………………………………… 123

4.5. Операции с объектами в Python………………………………………………………………………………………. 124

4.6. Операторы…………………………………………………………………………………………………………………………. 124

4.6.1. Арифметические операторы………………………………………………………………………………………. 125

4.6.2. Операторы присваивания…………………………………………………………………………………………… 126

4.6.3. Операторы сравнения…………………………………………………………………………………………………. 127

4.6.4. Логические операторы……………………………………………………………………………………………….. 128

4.6.5. Операторы идентификации и вхождения………………………………………………………………….. 128

4.7. Отступы……………………………………………………………………………………………………………………………… 129

4.8. Комментарии в Python……………………………………………………………………………………………………… 130

4.9. Порядок выполнения………………………………………………………………………………………………………… 130

4.9.1. Изменение порядка выполнения………………………………………………………………………………… 131

4.9.2. Ассоциативность…………………………………………………………………………………………………………. 131

4.9.3. Площадь прямоугольника………………………………………………………………………………………….. 132

4.10. Динамическая типизация……………………………………………………………………………………………….. 132

4.11. Строгая типизация………………………………………………………………………………………………………….. 133

4.12. Логическая и физическая строка…………………………………………………………………………………… 133

4.13. Резюме……………………………………………………………………………………………………………………………… 134

4.14. Упражнения…………………………………………………………………………………………………………………….. 134

4.14.1. Ответьте на вопросы…………………………………………………………………………………………………. 134

4.14.2. Правда или ложь……………………………………………………………………………………………………….. 135

4.14.3. Практические задания………………………………………………………………………………………………. 135

4.14.4. Изучите самостоятельно………………………………………………………………………………………….. 136

 

Глава 5. Операторы управления потоком…………………………………………….. 137

5.1. Управление потоком…………………………………………………………………………………………………………. 137

5.2. Операторы if……………………………………………………………………………………………………………………… 137

5.2.1. Простой оператор if……………………………………………………………………………………………………. 137

5.2.2. Оператор if-else…………………………………………………………………………………………………………… 139

5.2.3. Оператор if–elif–else…………………………………………………………………………………………………… 140

5.3. Оператор цикла for…………………………………………………………………………………………………………… 142

5.3.1. Цикл for с блоком else…………………………………………………………………………………………………. 143

5.4. Функция range()…………………………………………………………………………………………………………………. 144

5.5. Цикл while………………………………………………………………………………………………………………………….. 145

5.6. Операторы break и continue…………………………………………………………………………………………….. 146

5.6.1. Оператор break……………………………………………………………………………………………………………. 146

5.6.2. Оператор continue………………………………………………………………………………………………………. 148

5.7. Оператор pass……………………………………………………………………………………………………………………. 149

5.8. Резюме………………………………………………………………………………………………………………………………… 150

5.9. Упражнения……………………………………………………………………………………………………………………….. 150

5.9.1. Ответьте на вопросы…………………………………………………………………………………………………… 150

5.9.2. Правда или ложь…………………………………………………………………………………………………………. 151

5.9.3. Практические задания………………………………………………………………………………………………… 152

Глава 6. Функции………………………………………………………………………………… 153

6.1. Определение функций………………………………………………………………………………………………………. 153

6.2. Типы функций……………………………………………………………………………………………………………………. 153

6.3. Встроенные функции………………………………………………………………………………………………………… 154

6.3.1. Описание некоторых встроенных функций………………………………………………………………. 154

6.4. Пользовательские функции………………………………………………………………………………………………. 156

6.4.1. Зачем создавать функции?…………………………………………………………………………………………. 156

6.4.2. Создание и вызов функций…………………………………………………………………………………………. 157

6.4.3. Входные параметры и аргументы…………………………………………………………………………….. 158

6.4.3.1. Параметры………………………………………………………………………………………………………….. 159

6.4.3.2. Аргументы………………………………………………………………………………………………………….. 160

6.4.3.3. Количество аргументов…………………………………………………………………………………….. 161

6.4.4. Возврат значений из функций……………………………………………………………………………………. 162

6.5. Варианты передачи аргументов……………………………………………………………………………………… 164

6.5.1. Аргументы со значением по умолчанию………………………………………………………………….. 164

6.5.2. Произвольное число аргументов (*args)…………………………………………………………………… 164

6.5.3. Именованные аргументы……………………………………………………………………………………………. 165

6.5.4. Произвольное число именованных аргументов (**kwargs)……………………………………. 166

6.6. Генераторы……………………………………………………………………………………………………………………….. 167

6.6.1. Определение генератора……………………………………………………………………………………………. 167

6.6.2. Пояснение к примеру………………………………………………………………………………………………….. 168

6.7. Резюме………………………………………………………………………………………………………………………………… 168

6.8. Упражнения……………………………………………………………………………………………………………………….. 169

6.8.1. Ответьте на вопросы…………………………………………………………………………………………………… 169

6.8.2. Правда или ложь…………………………………………………………………………………………………………. 169

6.8.3. Практические задания………………………………………………………………………………………………… 169

6.8.4. Изучите самостоятельно…………………………………………………………………………………………….. 170

Глава 7. ПРОЕКТ 1: Рисунки из символов с помощью циклов и функций 171

7.1. Рисунки с помощью символа * (звездочка)…………………………………………………………………….. 171

7.1.1. Прямоугольный треугольник……………………………………………………………………………………… 171

7.1.2. Перевернутый прямоугольный треугольник…………………………………………………………….. 172

7.1.3. Равносторонний треугольник…………………………………………………………………………………….. 174

7.1.4. Прямоугольный треугольник вверх ногами……………………………………………………………… 175

7.1.5. Стрелка вправо……………………………………………………………………………………………………………. 175

7.1.6. Практические задания………………………………………………………………………………………………… 176

7.2. Рисунки с помощью цифр…………………………………………………………………………………………………. 177

7.2.1. Прямоугольный треугольник……………………………………………………………………………………… 177

7.2.2. Прямоугольный треугольник 2………………………………………………………………………………….. 177

7.2.3. Прямоугольный треугольник вверх ногами……………………………………………………………… 178

7.2.4. Треугольник из обратных чисел………………………………………………………………………………… 179

7.2.5. Треугольник из квадратов обратных чисел……………………………………………………………… 179

7.2.6. Ромб……………………………………………………………………………………………………………………………… 179

7.2.7. Ромб с другим направлением чисел………………………………………………………………………….. 181

7.2.8. Стрелка влево……………………………………………………………………………………………………………… 182

7.2.9. Практические задания………………………………………………………………………………………………… 183

7.3. Резюме………………………………………………………………………………………………………………………………… 184

Глава 8. Структуры данных и последовательности……………………………… 185

8.1. Строки………………………………………………………………………………………………………………………………… 185

8.1.1. Строковые операции…………………………………………………………………………………………………… 186

8.1.2. Форматирование…………………………………………………………………………………………………………. 187

8.1.3. Методы split() и join()…………………………………………………………………………………………………. 188

8.2. Списки………………………………………………………………………………………………………………………………… 189

8.2.1. Индексы и срезы………………………………………………………………………………………………………….. 191

8.2.2. Методы списков………………………………………………………………………………………………………….. 192

8.2.3. Списковые включения………………………………………………………………………………………………… 193

8.2.4. Оператор del………………………………………………………………………………………………………………… 194

8.3. Кортежи……………………………………………………………………………………………………………………………… 195

8.3.1. Методы кортежей……………………………………………………………………………………………………….. 196

8.4. Множества…………………………………………………………………………………………………………………………. 196

8.4.1. Операции над множествами………………………………………………………………………………………. 197

8.4.2. Методы множеств……………………………………………………………………………………………………….. 198

8.5. Словари……………………………………………………………………………………………………………………………… 199

8.5.1. Методы словарей………………………………………………………………………………………………………… 200

8.6. Перебор последовательностей в цикле…………………………………………………………………………… 201

8.7. Резюме………………………………………………………………………………………………………………………………… 202

8.8. Упражнения……………………………………………………………………………………………………………………….. 202

8.8.1. Ответьте на вопросы…………………………………………………………………………………………………… 202

8.8.2. Правда или ложь…………………………………………………………………………………………………………. 203

8.8.3. Практические задания………………………………………………………………………………………………… 203

8.8.4. Изучите самостоятельно…………………………………………………………………………………………….. 204

Глава 9. Ввод-вывод данных и работа с файлами………………………………… 205

9.1. Ввод данных……………………………………………………………………………………………………………………… 205

9.2. Форматированный вывод данных…………………………………………………………………………………… 207

9.2.1. Форматированные строки………………………………………………………………………………………….. 207

9.2.2. Строковый метод format()…………………………………………………………………………………………… 208

9.2.3. Форматирование строк вручную………………………………………………………………………………. 210

9.2.4. Функции str() и repr()…………………………………………………………………………………………………… 211

9.2.5. Старое форматирование строки………………………………………………………………………………… 212

9.3. Чтение и запись файлов……………………………………………………………………………………………………. 212

9.3.1. Методы файловых объектов………………………………………………………………………………………. 213

9.3.2. Создание файла и запись в него………………………………………………………………………………… 214

9.3.3. Открытие файла и чтение его содержимого……………………………………………………………… 215

9.3.4. Построчное чтение……………………………………………………………………………………………………… 215

9.3.5. Чтение и запись нетекстовых файлов………………………………………………………………………… 216

9.4. Резюме………………………………………………………………………………………………………………………………… 216

9.5. Упражнения……………………………………………………………………………………………………………………….. 216

9.5.1. Ответьте на вопросы…………………………………………………………………………………………………… 216

9.5.2. Правда или ложь…………………………………………………………………………………………………………. 217

9.5.3. Практические задания………………………………………………………………………………………………… 217

9.5.4. Изучите самостоятельно…………………………………………………………………………………………….. 218

Глава 10. ПРОЕКТ 2: Автоматизация обработки множества изображений 219

10.1. Изменение типа файла (расширения)……………………………………………………………………………. 221

10.2. Изменение размеров фотографий………………………………………………………………………………….. 223

10.3. Преобразование изображений в черно-белые……………………………………………………………… 223

10.4. Поворот изображений…………………………………………………………………………………………………….. 224

10.5. Изменение разрешения изображения……………………………………………………………………………. 225

10.6. Резюме……………………………………………………………………………………………………………………………… 226

10.7. Изучите самостоятельно………………………………………………………………………………………………… 226

Глава 11. Классы………………………………………………………………………………….. 227

11.1. Основные понятия…………………………………………………………………………………………………………… 227

11.1.1. Введение в объектно-ориентированное программирование………………………………… 227

11.1.2. Введение в понятие класса………………………………………………………………………………………. 229

11.2. Объект класса………………………………………………………………………………………………………………….. 229

11.2.1. Метод __init__………………………………………………………………………………………………………….. 230

11.3. Объекты экземпляров……………………………………………………………………………………………………… 231

11.3.1. Создание экземпляров класса………………………………………………………………………………….. 231

11.3.2. Как это работает………………………………………………………………………………………………………. 232

11.3.3. Пример использования экземпляров класса…………………………………………………………… 232

11.4. Объекты методов…………………………………………………………………………………………………………….. 234

11.5. Наследование………………………………………………………………………………………………………………….. 235

11.6. Множественное наследование………………………………………………………………………………………. 236

11.6.1. Переопределение методов……………………………………………………………………………………….. 239

11.7. Полиморфизм…………………………………………………………………………………………………………………… 241

11.8. Абстракция и инкапсуляция…………………………………………………………………………………………… 241

11.9. Как контролировать доступ…………………………………………………………………………………………… 242

11.9.1. Приватные переменные……………………………………………………………………………………………. 242

11.10. Резюме……………………………………………………………………………………………………………………………. 243

11.11. Упражнения…………………………………………………………………………………………………………………… 243

11.11.1. Ответьте на вопросы………………………………………………………………………………………………. 243

11.11.2. Правда или ложь…………………………………………………………………………………………………….. 243

11.11.3. Практические задания……………………………………………………………………………………………. 244

11.11.4. Изучите самостоятельно………………………………………………………………………………………… 245

Глава 12. Ошибки и обработка исключений………………………………………… 247

12.1. Ошибки и исключения…………………………………………………………………………………………………….. 247

12.1.1. Синтаксические ошибки…………………………………………………………………………………………… 247

12.1.2. Исключения……………………………………………………………………………………………………………….. 248

12.2. Вызов исключений………………………………………………………………………………………………………….. 249

12.2.1. Оператор raise…………………………………………………………………………………………………………… 249

12.2.2. Исключение AssertionError………………………………………………………………………………………. 250

12.3. Обработка исключений………………………………………………………………………………………………….. 251

12.3.1. Операторы try и except……………………………………………………………………………………………… 251

12.3.2. Блок else…………………………………………………………………………………………………………………….. 252

12.4. Завершающий блок………………………………………………………………………………………………………… 253

12.5. Резюме……………………………………………………………………………………………………………………………… 255

12.6. Упражнения…………………………………………………………………………………………………………………….. 255

12.6.1. Ответьте на вопросы…………………………………………………………………………………………………. 255

12.6.2. Правда или ложь……………………………………………………………………………………………………….. 255

12.6.3. Практические задания………………………………………………………………………………………………. 256

Глава 13. Модули и пакеты………………………………………………………………….. 257

13.1. Модули…………………………………………………………………………………………………………………………….. 257

13.1.1. Определение модуля…………………………………………………………………………………………………. 257

13.1.2. Подробнее о модулях……………………………………………………………………………………………….. 259

13.2. Импорт модулей……………………………………………………………………………………………………………… 259

13.2.1. Импорт модулей из других модулей……………………………………………………………………….. 259

13.2.2. Импорт имен из модуля напрямую………………………………………………………………………….. 260

13.2.3. Импорт всех имен из модуля……………………………………………………………………………………. 260

13.2.4. Импорт модуля под другим именем………………………………………………………………………… 260

13.3. Стандартные модули……………………………………………………………………………………………………… 261

13.4. Функция dir()……………………………………………………………………………………………………………………. 262

13.5. Пакеты……………………………………………………………………………………………………………………………… 263

13.5.1. Пример пакета sound……………………………………………………………………………………………….. 263

13.5.2. Вызов пакета для дальнейшего использования……………………………………………………… 265

13.5.3. Популярные пакеты в Python…………………………………………………………………………………… 266

13.5.3.1. Сбор данных…………………………………………………………………………………………………….. 266

13.5.3.2. Обработка данных и моделирование…………………………………………………………….. 266

13.5.3.3. Визуализация данных……………………………………………………………………………………… 268

13.6. Резюме……………………………………………………………………………………………………………………………… 269

13.7. Упражнения…………………………………………………………………………………………………………………….. 269

13.7.1. Ответьте на вопросы…………………………………………………………………………………………………. 269

13.7.2. Правда или ложь……………………………………………………………………………………………………….. 269

13.7.3. Изучите самостоятельно………………………………………………………………………………………….. 270

Глава 14. ПРОЕКТ 3: Конвертер валют с графическим интерфейсом…… 271

14.1. Введение в Tkinter…………………………………………………………………………………………………………… 271

14.2. Основные шаги в Tkinter…………………………………………………………………………………………………. 273

14.3. Окно интерфейса конвертера валют……………………………………………………………………………… 274

14.3.1. Использование метода pack()…………………………………………………………………………………… 275

14.3.2. Использование метода grid()……………………………………………………………………………………. 276

14.4. Код для конвертации валют…………………………………………………………………………………………… 277

14.5. Итоговое приложение…………………………………………………………………………………………………….. 279

14.6. Резюме……………………………………………………………………………………………………………………………… 282

14.7. Изучите самостоятельно………………………………………………………………………………………………… 282

Глава 15. Библиотека NumPy……………………………………………………………….. 283

15.1. Введение в NumPy…………………………………………………………………………………………………………… 283

15.1.1. Установка NumPy……………………………………………………………………………………………………… 284

15.1.2. Импорт NumPy………………………………………………………………………………………………………….. 284

15.1.3. Разница между списком Python и массивом NumPy………………………………………………. 284

15.1.4. Зачем нам NumPy?……………………………………………………………………………………………………. 285

15.2. Массив NumPy………………………………………………………………………………………………………………… 286

15.2.1. Размерность массива………………………………………………………………………………………………… 286

15.2.2. Другие атрибуты массива………………………………………………………………………………………… 287

15.3. Создание массива…………………………………………………………………………………………………………… 287

15.3.1. Массивы из нулей, единиц и случайных чисел……………………………………………………… 289

15.3.2. Массив из диапазона значений……………………………………………………………………………….. 290

15.3.3. Указание типа данных массива………………………………………………………………………………. 291

15.3.4. Вывод массивов………………………………………………………………………………………………………… 291

15.4. Сортировка, добавление и удаление элементов массива…………………………………………… 292

15.4.1. Сортировка………………………………………………………………………………………………………………… 292

15.4.2. Сложение (конкатенация)………………………………………………………………………………………… 292

15.4.3. Удаление……………………………………………………………………………………………………………………. 293

15.5. Форма и размер массива………………………………………………………………………………………………… 293

15.6. Изменение формы……………………………………………………………………………………………………………. 294

15.7. Добавление оси……………………………………………………………………………………………………………….. 295

15.8. Индексирование и срезы………………………………………………………………………………………………… 296

15.9. Создание массива из существующих данных……………………………………………………………… 298

15.10. Копии и представления массивов……………………………………………………………………………….. 299

15.10.1. Присваивание без копии…………………………………………………………………………………………. 300

15.10.2. Представление или неглубокая копия…………………………………………………………………… 300

15.10.3. Глубокая копия……………………………………………………………………………………………………….. 301

15.11. Массивы NumPy в реальной жизни…………………………………………………………………………….. 301

15.11.1. Электронные таблицы Excel………………………………………………………………………………….. 302

15.11.2. Аудиофайлы и временные ряды…………………………………………………………………………….. 302

15.11.3. Изображения……………………………………………………………………………………………………………. 303

15.12. Резюме……………………………………………………………………………………………………………………………. 304

Глава 16. Операции в NumPy……………………………………………………………….. 305

16.1. Основные операции над массивами……………………………………………………………………………… 305

16.1.1. Универсальные функции………………………………………………………………………………………….. 307

16.2. Транслирование……………………………………………………………………………………………………………… 308

16.3. Функции агрегирования…………………………………………………………………………………………………. 308

16.4. Двумерные массивы……………………………………………………………………………………………………….. 309

16.5. Уникальные элементы массива……………………………………………………………………………………… 311

16.6. Транспонирование и изменение формы матрицы………………………………………………………… 313

16.7. Обратный порядок элементов массива…………………………………………………………………………. 314

16.8. Сжатие многомерного массива в одномерный…………………………………………………………….. 316

16.9. Работа с математическими формулами………………………………………………………………………… 317

16.10. Сохранение массива в файл и чтение из файла…………………………………………………………. 318

16.11. Резюме……………………………………………………………………………………………………………………………. 319

Глава 17. Библиотека Pandas……………………………………………………………….. 321

17.1. Введение в Pandas…………………………………………………………………………………………………………… 321

17.1.1. Зачем нам Pandas?……………………………………………………………………………………………………. 321

17.1.2. Установка и импорт Pandas……………………………………………………………………………………… 322

17.1.3. Обработка данных в Pandas…………………………………………………………………………………….. 323

17.2. Тип данных DataFrame…………………………………………………………………………………………………… 323

17.2.1. Создание DataFrame…………………………………………………………………………………………………. 323

17.2.2. Индексы в DataFrame……………………………………………………………………………………………….. 324

17.2.3. Series в DataFrame…………………………………………………………………………………………………….. 324

17.3. Столбцы DataFrame……………………………………………………………………………………………………….. 325

17.3.1. Добавление столбца…………………………………………………………………………………………………. 325

17.3.2. Удаление столбца…………………………………………………………………………………………………….. 326

17.3.3. Изменение значений в столбце………………………………………………………………………………… 326

17.4. Строки DataFrame…………………………………………………………………………………………………………… 326

17.4.1. Выбор строки…………………………………………………………………………………………………………….. 326

17.4.2. Срез строки (выбор нескольких строк)……………………………………………………………………. 327

17.5. Операции с DataFrame……………………………………………………………………………………………………. 327

17.6. Чтение данных из файла………………………………………………………………………………………………… 328

17.6.1. Пояснение к данным из примера……………………………………………………………………………… 329

17.7. Запись данных в файл…………………………………………………………………………………………………….. 330

17.8. Проверка DataFrame………………………………………………………………………………………………………. 330

17.8.1. Атрибут dtypes…………………………………………………………………………………………………………… 330

17.8.2. Метод info()……………………………………………………………………………………………………………….. 331

17.8.3. Метод head()……………………………………………………………………………………………………………… 332

17.8.4. Метод tail()………………………………………………………………………………………………………………… 332

17.9. Выбор части DataFrame…………………………………………………………………………………………………. 333

17.9.1. Выбор столбцов………………………………………………………………………………………………………… 333

17.9.2. Выбор строк (фильтрация)……………………………………………………………………………………….. 334

17.9.3. Выбор строк и столбцов…………………………………………………………………………………………… 335

17.10. Резюме……………………………………………………………………………………………………………………………. 337

Глава 18. Pandas в действии…………………………………………………………………. 339

18.1. Добавление столбца……………………………………………………………………………………………………….. 339

18.2. Удаление столбцов…………………………………………………………………………………………………………. 340

18.3. Переименование столбцов……………………………………………………………………………………………… 340

18.4. Сводная статистика………………………………………………………………………………………………………… 341

18.5. Группировка по категориям…………………………………………………………………………………………… 342

18.6. Сортировка строк……………………………………………………………………………………………………………. 345

18.7. Объединение данных из нескольких таблиц………………………………………………………………… 345

18.7.1. Объединение объектов……………………………………………………………………………………………… 346

18.7.2. Объединение с использованием общего идентификатора…………………………………….. 347

18.8. Резюме……………………………………………………………………………………………………………………………… 350

Глава 19. Визуализация в Python………………………………………………………….. 351

19.1. Визуализация данных…………………………………………………………………………………………………….. 351

19.1.1. Важность визуализации данных……………………………………………………………………………… 351

19.1.2. Основы визуализации……………………………………………………………………………………………….. 351

19.1.3. Простой линейный график в Pandas………………………………………………………………………… 352

19.1.4. Базовая диаграмма рассеяния…………………………………………………………………………………. 354

19.1.5. Другие виды графиков………………………………………………………………………………………………. 355

19.1.6. Диаграмма размаха………………………………………………………………………………………………….. 357

19.1.7. Несколько графиков………………………………………………………………………………………………….. 358

19.1.8. Сохранение графика…………………………………………………………………………………………………. 358

19.2. Библиотеки для визуализации данных…………………………………………………………………………. 359

19.2.1. Matplotlib……………………………………………………………………………………………………………………. 359

19.2.2. Seaborn……………………………………………………………………………………………………………………….. 360

19.2.3. ggplot…………………………………………………………………………………………………………………………… 361

19.2.4. Bokeh………………………………………………………………………………………………………………………….. 362

19.2.5. Folium…………………………………………………………………………………………………………………………. 362

19.2.6. Gleam………………………………………………………………………………………………………………………….. 363

19.3. Резюме……………………………………………………………………………………………………………………………… 364

Глава 20. Визуализация с помощью Matplotlib Pyplot…………………………… 365

20.1. Введение и историческая справка…………………………………………………………………………………. 365

20.2. Основные объкты Matplotlib………………………………………………………………………………………….. 366

20.2.1. Иерархия объектов Matplotlib………………………………………………………………………………….. 368

20.2.2. Типы входных данных для графиков………………………………………………………………………. 369

20.3. Элементы рисунка………………………………………………………………………………………………………….. 369

20.3.1. Рисунок (Figure)………………………………………………………………………………………………………… 370

20.3.2. Графики (Axes)…………………………………………………………………………………………………………… 371

20.3.3. Оси (Axis)……………………………………………………………………………………………………………………. 371

20.3.4. Объекты Artist……………………………………………………………………………………………………………. 371

20.4. Два способа использования Matplotlib…………………………………………………………………………. 371

20.4.1. Объектно-ориентированный интерфейс…………………………………………………………………. 371

20.4.2. Интерфейс Pyplot………………………………………………………………………………………………………. 372

20.4.3. Так какой же способ лучше?……………………………………………………………………………………. 373

20.5. Построение схожих графиков с помощью функций…………………………………………………….. 373

20.6. Модуль Pyplot…………………………………………………………………………………………………………………. 375

20.7. Функция plot()………………………………………………………………………………………………………………….. 376

20.7.1. Построение индексированных данных…………………………………………………………………… 377

20.7.2. Построение нескольких наборов данных……………………………………………………………….. 377

20.7.3. Форматирование стиля…………………………………………………………………………………………….. 377

20.8. Параметры функции plot()……………………………………………………………………………………………… 379

20.8.1. Параметры х, у…………………………………………………………………………………………………………… 379

20.8.2. Строка формата (fmt)………………………………………………………………………………………………… 379

20.8.2.1. Маркеры…………………………………………………………………………………………………………… 379

20.8.2.2. Стили линий……………………………………………………………………………………………………… 380

20.8.2.3. Цвета…………………………………………………………………………………………………………………. 380

20.8.3. Данные (data)…………………………………………………………………………………………………………….. 380

20.9. Возвращаемый объект plot()………………………………………………………………………………………….. 381

20.10. Именованные аргументы (**kwargs)…………………………………………………………………………… 381

20.11. Построение графиков по меткам…………………………………………………………………………………. 382

20.12. Построение графиков с категориальными переменными………………………………………….. 383

20.13. Изменение свойств линии…………………………………………………………………………………………….. 383

20.14. Работа с несколькими рисунками и графиками…………………………………………………………. 384

20.15. Вставка текста на график…………………………………………………………………………………………….. 386

20.16. Использование математических выражений в тексте……………………………………………….. 387

20.16.1. Аннотирование текста……………………………………………………………………………………………. 387

20.17. Логарифмические и другие нелинейные оси………………………………………………………………. 388

20.18. Резюме……………………………………………………………………………………………………………………………. 390

Глава 21. Визуализация с помощью объектно-ориентированного интерфейса в Matplotlib         391

21.1. Сравнение объектно-ориентированного API и Pyplot API………………………………………….. 391

21.2. Данные для работы………………………………………………………………………………………………………… 392

21.3. Построение графика по умолчанию……………………………………………………………………………… 392

21.4. Управление стилями……………………………………………………………………………………………………….. 393

21.5. Разные настройки графика…………………………………………………………………………………………….. 394

21.6. Добавление элементов на график………………………………………………………………………………….. 397

21.7. Форматирование текста на графике……………………………………………………………………………… 398

21.7.1. Базовые команды для работы с текстом…………………………………………………………………. 399

21.8. Сохранение графика в файл…………………………………………………………………………………………… 401

21.9. Примеры графиков………………………………………………………………………………………………………….. 402

21.9.1. Гистограмма……………………………………………………………………………………………………………… 402

21.9.2. Кривые и ломаные линии…………………………………………………………………………………………. 403

21.9.3. Трехмерные графики………………………………………………………………………………………………… 404

21.9.4. Круговая диаграмма…………………………………………………………………………………………………. 405

21.9.5. Пример построения нескольких графиков………………………………………………………………. 407

21.10. Резюме……………………………………………………………………………………………………………………………. 407

Ответы на вопросы «Правда или ложь»……………………………………………….. 409

Библиография………………………………………………………………………………………. 411

Опубликовано

Поросенок Нюка. Однажды зимой

Поросенок Нюка. Однажды зимой

Представляем новую книгу Дмитрия Дмитриева из серии “Поросёнок Нуюка” – “Поросенок Нюка. Однажды зимой“.

В Стране Придуманных Историй наступила зима. Одним восхитительным утром поросенок Нюка вспомнил, что хотел покататься на лыжах с друзьями. Он так боялся опоздать, что решил не надевать теплую курточку. И конечно, Нюка потом болел — целых пятьдесят девять минут. Но верные друзья Гусь Гусич и Бернар сразу же пришли на помощь.  А болеть Нюке зимой никак нельзя, ведь кругом столько интересного: снежные горки, ледяной каток, симпатичные снеговики и волшебные сосульки, которые так и хочется кому-нибудь подарить. Зимняя пора — отличное время для новых приключений!

На счету Дмитрия Дмитриева публикации в журналах и альманахах, более десятка изданных книг для детей, сценарии к фильмам и передачам, таким как «Спокойной ночи, малыши!», «Шишкин лес», «Сказки и истории». Его новая серия книг про поросёнка Нюку проиллюстрирована членом Союза художников и финалистом всероссийского конкурса «Новая детская книга» Павлом Клементьевым.

Книгу можно купить в нашем интернет-магазине.

 

Об авторе

Дмитрий Дмитриев

Дмитрий Дмитриев имеет около  двухсот публикаций в журналах и альманахах, таких как «Тошка», «Кукумбер», «Шишкин лес», «Доброе слово». А также целый ряд книг для детей в том числе  «Волшебное лукошко», «Свободный город», «Таинственный маяк», «Хитрые сказки», «Волшебная скрипка» и др. Им написана пьеса «Потерянный башмак», сценарии к фильму «Федька!», передачам «Спокойной ночи, малыши!», «Шишкин лес», «Сказки и истории». На счету автора победа в конкурсе Рождественских пьес (2003г. ) и диплом международного православного фестиваля «Александр Невский».

О художнике

Клементьев Павел

Молодой художник из Ульяновска Павел Клементьев создает восхитительные иллюстрации со славянской этнической ноткой. Помимо художественных проектов и работы с иллюстрациями для детских книг, он работает в театре, занимаясь графическим дизайном. Создавать книжные иллюстрации Павел предпочитает по старинке — на бумаге — используя и акрил, и карандаши, и ручки.  Художник рассказывает, что своих героев он создаёт из множества деталей, списанных с реальных людей. Вдохновить на нового персонажа могут и мальчишка с красноватыми ушами, и девочка с ямочками на щеках, и, конечно, близкие люди.

2886_Нюка+ГГ+Бернард2

В тихом и красивом местечке, где-то на северо-западе Страны Придуманных Историй живёт поросёнок, которого все зовут Нюка. Почему его так зовут? Да потому, что этот непоседливый малыш любит всюду совать свой розовый пятачок, приговаривая: «Ню-ка, ню-ка посмотрим. Ню-ка, ню-ка поглядим». Что из этого получается, лучше всего знают Нюкины друзья — сенбернар Бернар и Гусь Гусич. Впрочем, и вы можете узнать, если прочтёте эту книгу.

днажды ночью в Стране Придуманных Историй выпал самый настоящий снег. А это значит, что поросёнка Нюку ждут новые незабываемые приключения. Лихо спуститься с горы на лыжах, слепить симпатичного снеговика или покрасоваться в ярком зимнем костюмчике — неугомонному поросёнку все по душе, если рядом его друзья Гусь Гусич и Бернар.

И летом и зимой Нюка готов вставать чуть свет, чтобы не пропустить самое интересное, так что историй про это самое интересное набралось на несколько книжек.

 

Опубликовано

Вышла книга “Панда Бамбу на прогулке”

Панда Бамбу на прогулке

Представляем новую книгу из серии “Панда Бамбу” – “Панда Бамбу на прогулке“.

Панда Бамбу впервые отправилась на прогулку без мамы. Но почему-то кругом все были грустные и недовольные.  Бамбу очень не понравилось такая прогулка. А вот с  мамой пандочке гулять очень даже понравилось! Кто бы мог подумать, что вокруг столько счастливых и весёлых прохожих! Даже удивительно, как они все поместились в маленькую книжку!

Весёлые истории про панду-непоседу хорошо читать всей семьёй, а потом вместе выполнять интересные и несложные задания в конце книги. Автор Анастасия Гундер — мама троих детей, и ей хорошо известно, как важно не только чем-то занять малыша, но и найти тему для общей беседы. Панда Бамбу всегда рада помочь и взрослым, и детям!

Книгу можно купить в нашем интернет-магазине.

 

О художнике

Татьяна Никитина

Татьяна Никитина — известный художник, ученица классика книжной иллюстрации Бориса Диодорова, обладатель дипломов конкурса «Образ книги». Её книги участвовали в престижных отечественных и зарубежных выставках в Болонье, Тегеране, Франкфурте-на-Майне.

Об авторе

Гундер-Анастасия

Анастасия Гундер — мама трёх малышей, начинающий огородник и увлеченный коллекционер детских книг. Кроме этого она победитель Международного литературного «Гайдаровского конкурса», финалист V Международного конкурса на лучшее произведение для детей «Корнейчуковская премия» и состоит в тайном обществе детских писателей «Мыхухоль».

Опубликовано

Новая книга Льва Лурье: “Поздние ленинградцы. От застоя до перестройки”

Поздние ленинградцы. От застоя до перестройки

Ленинград 1970-х — 1980-х годов. Неофициальная жизнь города становится ярче и смелее той, что на страницах официальных газет. Ленинградцы тех лет — рокеры, вольнодумные поэты, каратисты полузапрещенных спортивных секций, театральные деятели, первые гении рыночной экономики — все  они совсем скоро станут  главными актерами городской и в целом российской сцены. А пока им приходится существовать в быстро меняющейся повседневности позднего Ленинграда. Об этой, казалось бы, недвижной, тихой эпохе рассказывает книга Льва Лурье, основанная на десятках интервью свидетелей и участников неформальной жизни города на Неве.

Это книга о тех, кто жил в Ленинграде  в последние два десятилетия перед переименованием его в Петербург. Семидесятые — начало восьмидесятых: застой сменяется перестройкой. Постепенно и неявно ленинградская действительность меняется: неофициальная жизнь становится ярче, разнообразнее той, что на виду — на страницах газет, экранах телевидения. Уже на квартирниках слышны песни Гребенщикова и Науменко, полуподпольные художественные выставки  громче ежегодных смотров Союза художников, инженеры и врачи предпочитают  самиздат и тамиздат томам советских классиков.

…Цветет теневая экономика, те, кого назовут в 1990-е «бандитами», стоят неофициальными вышибалами у дверей ресторанов и кафе. Одежду «поздние ленинградцы» покупают на «Галере»,  мудрость познают в «Сайгоне», смотрят «Крестного отца» или «Последнее танго в Париже»  на дружеских квартирах счастливых обладателей «видиков». «Вторая культура» перерастает подпольное существование и выходит к концу периода в открытое, городское пространство.

 

 

Книгу можно купить в нашем интернет-магазине.

Лев Лурье – историк и журналист. В 1989 г. основал первую в новой России Петербургскую классическую гимназию (школа № 610), где и по сей день преподает историю. Четырежды лауреат конкурса «Золотое перо» и обладатель Гран-при «Журналист года» этого конкурса. В 2006-2009 гг. возглавлял Дирекцию документального вещания ТРК «Петербург – Пятый канал», вел авторские передачи «Культурный слой» и «Живая история». Прошлое, о котором в телепередачах, книгах и статьях повествует Лев Лурье, населяют не памятники, а живые люди. Их можно уважать или, напротив, осуждать, но к ним нельзя оставаться равнодушными.

Оглавление

Предисловие………………………………………………………………………………………………. 7

Две действительности………………………………………………………………………………… 7

У кого взяты интервью……………………………………………………………………………… 24

ЧАСТЬ I. Приватизация жизни……………………………………………………………. 35

Бэби-бумеры……………………………………………………………………………………………… 35

Шейте сами……………………………………………………………………………………………….. 50

Ленинградская макивара…………………………………………………………………………. 68

Злачное место…………………………………………………………………………………………… 79

ЧАСТЬ II. Надлёдная жизнь……………………………………………………………….. 103

Обучение письму……………………………………………………………………………………. 103

Геннадий Григорьев………………………………………………………………………………. 113

Социологи……………………………………………………………………………………………….. 125

Империя Ленконцерт……………………………………………………………………………… 135

Трагедия Леонида Дьячкова…………………………………………………………………. 143

«Фиеста» Сергея Юрского……………………………………………………………………… 152

Ах, эти звезды!………………………………………………………………………………………… 161

Корогодский: взлет и падение………………………………………………………………. 170

Шуранова и Хочинский…………………………………………………………………………. 189

«Орфей и Эвридика»………………………………………………………………………………. 197

ЧАСТЬ III. Подлёдная жизнь……………………………………………………………… 207

Северный Сайгон……………………………………………………………………………………. 207

Свободные художники…………………………………………………………………………… 238

Театр Бориса Понизовского………………………………………………………………….. 258

Все братья — сестры!…………………………………………………………………………….. 271

Рок-самиздат…………………………………………………………………………………………… 281

Рок. Цой жив……………………………………………………………………………………………. 291

Рикошет…………………………………………………………………………………………………… 302

Человек, которого не было…………………………………………………………………….. 313

ЧАСТЬ IV. Криминал эпохи развитого социализма………………………. 331

Дело автоматчиков………………………………………………………………………………… 331

Банда Николаева……………………………………………………………………………………. 349

Динаровый миллиардер………………………………………………………………………… 365

 

Опубликовано

Представляем книгу “Грамматика современной английской разговорной речи”

Грамматика современной английской разговорной речи

В книге подробно излагается система английских грамматических явлений по состоянию на начало ХХI века. Рассмотрены морфология и синтаксис. В качестве иллюстраций приводится огромное количество примеров из современного английского языка. Закреплению материала  поможет сборник упражнений с ключами для самоконтроля.

Книга рассчитана на студентов вузов и слушателей курсов, лиц, изучающих английский язык на продвинутом  уровне, а также на лингвистов, преподавателей, учителей, аспирантов, переводчиков и всех, кто использует английский язык в своей работе.

От автора

Как-то на спортплощадке я встретил незнакомого мужчину. Обменялись несколькими фразами. Я так бы и не узнал, что он иностранец, если бы на прощание он вместо «Будьте здоровы» не употребил бы его синоним «Здравствуйте».

Так и с грамматическими средствами. Чтобы разговаривать с носителями английского языка на равных, мало знать слова и как их произнести, а также грамматические правила, которыми изобилуют учебники. Необходимо знать грамматические средства, типичные для соответст-вующих ситуаций общения. Например, какое выражение употребить, чтобы дружески поздороваться с англичанином, находящимся на некотором удалении от вас.

Какие местоимения употребить, чтобы показать, что какой-либо предмет приближается или удаляется. Как скомандовать «Сюда!», «Туда!». Как спросить по телефону: «Вы слушаете?». Всё это и многое другое вы узнаете из этой книги. Без данной информации о грамматических особенностях разговорной речи общение с носителями английского языка будет крайне затруднено, и можно оказаться в положении того незнакомца, который при прощании здоровается.

 

Вейхман Григорий Абрамович — профессор, доктор филологических наук, автор 150 печатных трудов, в том числе книг: «Новое в грамматике современного английского языка», «Структурные модели разговорного английского языка», «Новый взгляд на английский синтаксис» (на англ. языке), «Современный английский. Новейший справочник по грамматике» (в 2-х томах), «Английский без грамматических ошибок», «Современный английский. Ключ к пониманию структуры языка», «Разговорный английский от Англии до Новой Зеландии» (в 4-х томах) и других.

Книгу можно купить в нашем интернет-магазине.

Оглавление

Список сокращений и условных обозначений……………………………………….. 10

Часть I. МОРФОЛОГИЯ………………………………………………………………………… 13

От автора……………………………………………………………………………………………….. 15

Предисловие…………………………………………………………………………………………… 16

  1. Существительное……………………………………………………………………………….. 17

1.1. Числа существительных…………………………………………………………………………………………………….. 17

1.2. Падеж…………………………………………………………………………………………………………………………………… 24

1.3. Проблема рода (gender)………………………………………………………………………………………………………. 25

  1. Артикль……………………………………………………………………………………………… 29

2.1. Определенный артикль………………………………………………………………………………………………………. 29

2.2. Неопределенный артикль…………………………………………………………………………………………………… 30

2.3. Нулевой артикль…………………………………………………………………………………………………………………. 34

  1. Местоимения………………………………………………………………………………………. 51

3.1. Личные местоимения………………………………………………………………………………………………………….. 51

3.2. Притяжательные местоимения…………………………………………………………………………………………… 57

3.3. Возвратные местоимения…………………………………………………………………………………………………… 58

3.4. Эмфатические местоимения……………………………………………………………………………………………….. 64

3.5. Вопросительные местоимения…………………………………………………………………………………………… 65

3.6. Неопределенные местоимения…………………………………………………………………………………………… 66

3.7. Указательные местоимения……………………………………………………………………………………………….. 81

3.8. Взаимные местоимения………………………………………………………………………………………………………. 94

  1. Прилагательное………………………………………………………………………………….. 95

4.1. Замещение прилагательных………………………………………………………………………………………………. 95

4.2. Новейшие тенденции в употреблении степеней сравнения…………………………………………….. 95

4.3. Двойные степени сравнения………………………………………………………………………………………………. 99

4.4. Особые типы сравнения……………………………………………………………………………………………………. 100

  1. Наречие…………………………………………………………………………………………….. 101

5.1. Замещение наречий………………………………………………………………………………………………………….. 101

5.2. Местоименные наречия there и here……………………………………………………………………………….. 101

5.3. Наречия степени……………………………………………………………………………………………………………….. 108

5.4. Пространственные наречия……………………………………………………………………………………………… 122

5.5. Временне наречия………………………………………………………………………………………………………….. 123

5.6. Приглагольные наречия…………………………………………………………………………………………………… 124

5.7. Позиция и фонетическая форма наречий………………………………………………………………………… 125

  1. Глагол………………………………………………………………………………………………. 130

6.1. Глагол do…………………………………………………………………………………………………………………………… 130

6.2. Глагол have……………………………………………………………………………………………………………………….. 133

6.3. Глагол be……………………………………………………………………………………………………………………………. 138

6.4. Модальные глаголы…………………………………………………………………………………………………………. 140

6.5. Страдательный залог……………………………………………………………………………………………………….. 172

6.6. Времена группы Indefinite……………………………………………………………………………………………….. 189

6.6.1. Present Indefinite……………………………………………………………………………………………………… 189

6.6.2. Future Indefinite………………………………………………………………………………………………………. 190

6.6.3. Past Indefinite………………………………………………………………………………………………………….. 192

6.7. Времена группы Perfect……………………………………………………………………………………………………. 192

6.7.1. Perfect с be и have……………………………………………………………………………………………………. 192

6.7.2. Present Perfect………………………………………………………………………………………………………….. 194

6.7.3. Past Perfect и употребление времен в сложных предложениях………………………….. 202

6.8. Времена группы Continuous…………………………………………………………………………………………….. 211

6.8.0. Общие положения…………………………………………………………………………………………………… 211

6.8.1. Present Continuous…………………………………………………………………………………………………… 224

6.8.2. Past Continuous……………………………………………………………………………………………………….. 232

6.8.3. Future Continuous……………………………………………………………………………………………………. 233

6.8.4. Present Perfect Continuous………………………………………………………………………………………. 235

6.8.5. Past Perfect Continuous…………………………………………………………………………………………… 236

6.8.6. Редкие формы Continuous………………………………………………………………………………………. 237

6.8.7. Новые формы Continuous………………………………………………………………………………………. 237

6.9. Наклонение……………………………………………………………………………………………………………………….. 238

6.10. Неличные формы…………………………………………………………………………………………………………….. 242

6.10.1. Инфинитив…………………………………………………………………………………………………………….. 242

6.10.2. Герундий……………………………………………………………………………………………………………….. 247

6.10.3. Выбор между инфинитивом и герундием…………………………………………………………… 249

6.10.4. Причастие……………………………………………………………………………………………………………… 259

  1. Предлог…………………………………………………………………………………………….. 260

7.1. Разграничение употребления близких по значению предлогов…………………………………… 260

7.2. Региональная сфера употребления…………………………………………………………………………………. 263

7.3. Повышение частотности………………………………………………………………………………………………….. 271

7.4. Стилистическая маркированность предлогов и предложно-именных сочетаний……… 275

7.5. Образование новых предлогов………………………………………………………………………………………… 276

  1. Союз…………………………………………………………………………………………………. 281

8.1. Сочинительные союзы……………………………………………………………………………………………………… 281

8.2. Отграничение союзов от других частей и частиц речи…………………………………………………. 283

  1. Частица…………………………………………………………………………………………….. 287

Часть II. СИНТАКСИС………………………………………………………………………… 289

От автора……………………………………………………………………………………………… 291

  1. Корреляция………………………………………………………………………………………. 292

1.1. Понятие корреляции…………………………………………………………………………………………………………. 292

1.2. Направление коррелятивных связей……………………………………………………………………………….. 295

1.3. Классификация корреляции…………………………………………………………………………………………….. 302

1.3.1. Классификация корреляции по степени ее использования………………………………… 302

1.3.2. Классификация корреляции по выполняемой функции………………………………………. 303

1.3.3. Классификация корреляции по характеру коррелятивных связей……………………. 304

  1. Выражение цели высказывания……………………………………………………….. 309

2.1. Повествовательные предложения……………………………………………………………………………………. 309

2.2. Побудительные предложения………………………………………………………………………………………….. 331

2.3. Вопросительные предложения………………………………………………………………………………………… 340

2.3.1. Общие вопросы………………………………………………………………………………………………………. 341

2.3.2. Специальные вопросы…………………………………………………………………………………………… 344

2.3.3. Альтернативные вопросы……………………………………………………………………………………… 348

  1. Части и целые…………………………………………………………………………………… 350

3.0. Введение…………………………………………………………………………………………………………………………….. 350

3.1. Причины краткости и развернутости высказывания…………………………………………………….. 350

3.1.1. Сокращение избыточности……………………………………………………………………………………. 350

3.1.2. Введение полезной избыточности………………………………………………………………………… 359

3.2. Двусоставные безглагольные предложения…………………………………………………………………… 362

3.2.1. Структура двусоставных безглагольных предложений…………………………………….. 362

3.2.2. Составность……………………………………………………………………………………………………………. 366

3.3. Неполные предложения……………………………………………………………………………………………………. 380

  1. Изменения грамматического статуса единиц разных уровней………….. 389

4.0. Введение…………………………………………………………………………………………………………………………….. 389

4.1. Орфографические признаки……………………………………………………………………………………………… 391

4.2. Агглютинативные признаки…………………………………………………………………………………………….. 391

4.3. Словообразовательные признаки……………………………………………………………………………………. 393

4.4. Морфологические признаки…………………………………………………………………………………………….. 393

4.5. Синтаксические признаки………………………………………………………………………………………………… 394

4.6. Смешанные признаки……………………………………………………………………………………………………….. 412

  1. Номинализация………………………………………………………………………………… 417

5.1. Понятие номинализации…………………………………………………………………………………………………… 417

5.2. Типы номинализации……………………………………………………………………………………………………….. 419

5.2.1. Разложение……………………………………………………………………………………………………………… 419

5.2.2. Объединение…………………………………………………………………………………………………………… 421

5.2.3. Замены…………………………………………………………………………………………………………………….. 422

5.2.4. Введение опорного слова………………………………………………………………………………………. 426

5.2.5. Разложение + объединение……………………………………………………………………………………. 427

5.2.6. Разложение + замена……………………………………………………………………………………………… 428

5.2.7. Разложение + введение опорного слова……………………………………………………………….. 434

5.2.8. Объединение + замена……………………………………………………………………………………………. 434

5.2.9. Объединение + введение опорного слова…………………………………………………………….. 434

5.2.10. 3амена + введение опорного слова…………………………………………………………………….. 434

5.2.11. Синонимичные номинализированные конструкции…………………………………………………. 434

  1. Модально-диктальные сочетания…………………………………………………….. 435

6.0. Введение…………………………………………………………………………………………………………………………….. 435

6.1. Модели, значение и употребление модально-диктальных сочетаний………………………… 435

6.1.1. Классификация модусов по конкретизируемым модусным элементам…………….. 436

6.1.2. Степень выраженности модусов и диктумов……………………………………………………….. 456

6.1.2.1. Понятия «эксплицитность»/«неэксплицитность»…………………………………… 456

6.1.2.2. Неэксплицитность и неполнота………………………………………………………………. 457

6.1.2.3. Классификация неэксплицитных модусов по степени их взаимозависимости с диктумами и осложненности……………………………………………………………………………………………………………………. 464

6.1.2.4. Средства выражения неэксплицитных модусов…………………………………….. 465

6.1.2.5. Средства выражения субъекта эксплицитных и неэксплицитных модусов 476

6.1.2.6. Языково-речевые уровни употребления эксплицитных и неэксплицитных модусов            478

6.1.2.7. Модусная и диктальная компрессия……………………………………………………….. 480

6.1.3. Степень расчлененности модусов и диктумов…………………………………………………….. 484

6.1.4. Средства связи модусов с диктумами…………………………………………………………………… 486

6.1.4.1. Связь модусов с диктумами с помощью синтаксической корреляции…. 486

6.1.4.2. Связь модусов с диктумами с помощью синтаксической корреляции в сочетании с предлогами    522

6.1.4.3. Связь модусов с диктумами с помощью синтаксической корреляции в сочетании с союзами          528

6.2. Иерархия модусов и диктумов…………………………………………………………………………………………. 529

  1. Тема-рематическое членение…………………………………………………………….. 532

7.1. Основные понятия…………………………………………………………………………………………………………….. 532

7.2. Языково-речевое тема-рематическое членение……………………………………………………………… 533

7.3. Актуальное членение……………………………………………………………………………………………………….. 553

  1. Полифункциональность……………………………………………………………………. 555

8.1. Два вида членения синтаксических единиц……………………………………………………………………. 555

8.2. Два аспекта полифункциональности………………………………………………………………………………. 560

8.3. Полифункциональность, неполнота и избыточность……………………………………………………. 563

  1. Синтаксическое взаимодействие диалога и монолога………………………. 565

9.0. Введение…………………………………………………………………………………………………………………………….. 565

9.1. Структура диалогических единств…………………………………………………………………………………. 565

9.2. Возникновение монологического высказывания из диалога………………………………………… 592

9.2.0. Введение………………………………………………………………………………………………………………….. 592

9.2.1. Полное дублирование……………………………………………………………………………………………. 592

9.2.2. Частичное дублирование………………………………………………………………………………………. 595

9.2.3. Переходные явления………………………………………………………………………………………………. 612

  1. Простое предложение……………………………………………………………………… 612

10.1. Подлежащее и сказуемое……………………………………………………………………………………………….. 612

10.2. Дополнение……………………………………………………………………………………………………………………… 653

10.2.0. Введение……………………………………………………………………………………………………………… 653

10.2.1. Дополнение мнимое, прямое и косвенное (беспредложное и предложное)….. 653

10.2.2. Конструкция do + ing и «родственное дополнение»……………………………………….. 658

10.2.3. Сложное дополнение…………………………………………………………………………………………. 664

10.2.4. Синтаксические омонимы сложного дополнения……………………………………………. 684

10.3. Определение……………………………………………………………………………………………………………………. 711

10.3.0. Введение……………………………………………………………………………………………………………… 711

10.3.1. Прилагательные…………………………………………………………………………………………………. 713

10.3.2. Причастия……………………………………………………………………………………………………………. 720

10.3.3. Наречия……………………………………………………………………………………………………………….. 724

10.3.4. Существительные……………………………………………………………………………………………….. 725

10.3.5. Числительные……………………………………………………………………………………………………… 741

10.3.6. Слова «категории состояния»……………………………………………………………………………. 741

10.3.7. Герундии……………………………………………………………………………………………………………… 742

10.3.8. Инфинитивы………………………………………………………………………………………………………… 746

10.3.9. Включенные предложения (см. также 4.6)……………………………………………………….. 748

10.3.10. Сложно-окказиональные слова (см. также 4.6)……………………………………………… 748

10.3.11. Случаи расхождения формы и содержания атрибутивных словосочетаний 749

10.4. Обстоятельства……………………………………………………………………………………………………………….. 751

10.4.0. Введение……………………………………………………………………………………………………………… 751

10.4.1. Средства выражения обстоятельственных значений……………………………………… 751

10.4.2. Прямые и косвенные обстоятельства……………………………………………………………….. 758

10.4.3. Порядок следования обстоятельств………………………………………………………………….. 762

10.4.4. Сближение обстоятельств с другими членами предложения…………………………. 763

10.5. Приложения…………………………………………………………………………………………………………………….. 764

  1. Сложное предложение…………………………………………………………………….. 765

11.0. Введение………………………………………………………………………………………………………………………….. 765

11.1. Гипермодель I. Сложные предложения без полифункциональных членов………………. 765

11.2. Гипермодель II. Сложные предложения с полифункциональными членами……………. 786

Заключение………………………………………………………………………………………….. 808

Опубликовано

Представляем второе издание книги Юрия Винницкого и Александра Григорьева “Scratch и Arduino для юных программистов и конструкторов”

Scratch и Arduino для юных программистов и конструкторов. 2-е изд.

Вы хотите научиться создавать компьютерные игры? Управлять ими с помощью оригинальных пультов, собранных своими руками? Создавать “умные” устройства для управления домашними приборами? Тогда эта книга – для вас! Шаг за шагом вы пройдете интереснейший путь разработчика креативных игровых проектов, познакомитесь с замечательными средами программирования Scratch и mBlock и освоитесь в мире современной электроники. Читайте, пробуйте, творите, создавайте свои проекты.

📌 Заказать книгу можно в нашем интернет-магазине: https://bhv.ru/product/scratch-i-arduino-dlya-yunyh-programmistov-i-konstruktorov-2-e-izd/

В течение первой недели продаж действует скидка 25% по промокоду FIRST25.

Книга написана на основе опыта работы с детьми 3-11 классов и посвящена творческим проектам юных программистов и конструкторов. На примере алгоритмов черепашьей графики и простых компьютерных игр дети познакомятся с креативным программированием в визуальной среде Scratch. Рассмотрено применение плат Arduino, плат расширения и различных внешних датчиков в конструкторских проектах начального уровня. Даны основы визуального программирования этих устройств в среде mBlock в двух режимах, интерактивном и автономном, путем написания интерактивных компьютерных игр, в которых управление персонажем осуществляется посредством Arduino-консоли, а также при помощи создания автономных “умных вещей”, работающих под управлением Arduino без подключения к компьютеру. Второе издание дополнено проектами продвинутого уровня.

Электронный архив на сайте издательства содержит дополнительные материалы и листинги всех программ.

Введение

Scratch — популярнейший визуальный язык программирования, который идеально подходит для обучения детей от 8 лет, позволяет создавать творческие проекты, в непринужденной игровой форме осваивать алгоритмизацию и программирование, развивать техническое мышление и инженерные навыки.

Arduino — самый распространенный микроконтроллер для создания электронных самоделок. Маленькая печатная плата совершила настоящую революцию в мире технического творчества, придав новый импульс развитию робототехники и конструирования. Программирование и использование микроконтроллеров перестало быть уделом избранных. А с появлением графических средств разработки на основе Scratch обучить Arduino выполнению нужной работы стало ещё проще. Грядет новая революция — программирование микроконтроллеров становится доступным не только взрослым, но и детям!

Хотите попробовать? В ваших руках книга, в которой Scratch и Arduino объединяются в общих творческих проектах. Книга написана опытными преподавателями, в её основе — многолетний опыт практических занятий с детьми. Материалы предложены в игровой форме и занимательных проектах, с которыми интересно разбираться и детям, и взрослым, так что совместное техническое творчество может стать занимательным и полезным семейным досугом. Всё, что для этого нужно — книга, домашний компьютер и небольшой набор распространённых деталей.

Шаг за шагом авторы проведут вас в мир программирования и конструирования:

  • глава 1 позволит получить основные навыки работы в визуальной среде Scratch с помощью рисования и компьютерной графики;
  • глава 2 познакомит читателей с первыми Arduino-проектами, использующими подключаемые электронные компоненты;
  • глава 3 даст юным изобретателям возможность почувствовать себя в роли программистов-разработчиков компьютерных игр, получить навыки отладки и модификации компьютерных программ, а также собрать на основе Arduino оригинальные игровые приставки;
  • глава 4 продемонстрирует технологии «умного дома» на примере создания устройства, работающего в автономном режиме и управляющего осветительными приборами;
  • глава 5 предназначена для самых увлечённых исследователей и позволит им создать проекты повышенного уровня сложности с помощью усовершенствованных программных инструментов.

А дальше… дальше открывается огромный мир возможностей. Роботы, квадрокоптеры, 3D-принтеры, манипуляторы, «умные вещи» и игровые проекты — лишь небольшой перечень путей дальнейшего развития. Главное — увлечь, показать, научить сделать первый шаг. И мы очень надеемся, что эта книга станет хорошим проводником в этот замечательный мир творчества.

Не зря в ближайшие годы инженерное образование и техническое творчество подрастающего поколения будут являться особо важной сферой для дальнейшего технологического развития нашей страны.

Нужно растить инженеров, конструкторов, изобретателей, создавать своё будущее!

Юрий Винницкий

Винницкий Юрий Анатольевич, кандидат педагогических наук,  преподаватель информатики, неоднократный победитель профессиональных конкурсов, автор книг и статей по робототехнике и конструированию, автор-разработчик более 200 электронных ресурсов Единой коллекции цифровых образовательных ресурсов school-collection.edu.ru.

Александр Григорьев

Григорьев Александр Тихонович, психолог, преподаватель робототехники и конструирования, призер международных соревнований по робототехнике, автор ряда статей по робототехнике, конструированию и использованию новых технологий в образовании.

Опубликовано

Интервью с автором бестселлера “SMM: эффективное продвижение в соцсетях”

Инна Новожилова

Сегодня у нас в гостях Инна Новожилова – автор бестселлера “SMM: эффективное продвижение в соцсетях. Практическое руководство.”, а также основатель и генеральный директор рекламного агентства Createrra.

Инна рассказала нам, как продвигать бизнес в современных условиях, какие механизмы рекламы в социальных сетях сейчас наиболее эффективны, и что ждет SMM в ближайшем будущем.

❓ Мир изменился, а мир социальных медиа — в особенности. Какие инструменты SMM наиболее эффективны сейчас?

💬 Я вижу, что хорошую динамику показывает сеть ВКонтакте. Объем контента увеличился к концу марта по сравнению с концом января на 12%, количество активных авторов выросло с 12 до 14 млн человек, а количество регистраций в этой сети – на 20%. За счет «возвращенцев» из Instagram идет рост даже тех форматов, которые традиционно болтались во ВКонтакте на уровне дна – например, просмотры клипов выросли более, чем в два раза.

Очень перспективный канал для размещения информации – Телеграм. К середине марта данный канал показал рост новых подключений в 6%. Однако широко применимых инструментов продвижения там пока нет, как и удобной для рекламодателя классической новостной ленты. Поэтому для продвижения традиционных товаров и услуг Телеграм пока не очень подходит. Однако я вижу высокую перспективность этого канала для раскрутки блогеров.

Если ваш товар или услуга ориентированы на целевую аудиторию 40+, имеет смысл попробовать продвижение в Одноклассниках. За месяц сеть показала прирост новых пользователей в 3%, а просмотр карточек товаров вырос в два раза!

Возможно, в будущем появится и аналог Instagram. Его ниша очень востребована на российском рынке и пока свободна. Но разработка такого аналога требует ресурсов: высококлассного программного обеспечения, толковых программистов, существенных финансовых вливаний. Здесь фразой «я – одноклассник Дурова» и бесплатным движком на WordPress не обойтись. В противном случае, появится еще один пшик типа «Росграм».

❓ В условиях нестабильности как малый бизнес, так и владельцы частных пабликов стремятся сэкономить. Какие лайфхаки можно для этого использовать?

💬 Если нет возможности нанять профессионала, то самый очевидный вариант – вести социальные сети самостоятельно. Но для этого у вас должно быть время и желание заниматься написанием текстов, обработкой фотографий, общением с посетителями аккаунта. Заниматься «на отвали» смысла не имеет.

При этом, нужно не только вести аккаунт, но и привлекать новых посетителей. Как это сделать самому? Я вижу три пути: естественный прирост (бесплатно, но долго), конкурсные механики (относительно недорого, но дает некачественную аудиторию), таргетированная реклама (быстро, дает качественную аудиторию, но платно).

Какой вариант выбрать вам? Я бы остановилась на таргетированой рекламе. Относительно небольшим бюджетом, от 5 тыс рублей в месяц, можно развивать свою группу. А сэкономить можно на специалисте, который берет от 15 тыс рублей в месяц. Для этого достаточно пройти курсы по таргетированной рекламе или обучиться основам настройки рекламы по книжке. Например, в моей книге «SMM: эффективное продвижение в социальных сетях» подробно рассматривается, как «с нуля» настроить рекламу в таких актуальных сетях, как «Одноклассники» и «ВКонтакте».

❓ Какие советы в плане рекламы и продвижения можно дать людям, которые сейчас перебираются в ВК из Facebook и Instagram?

💬 Если у человека хорошо продвинутый аккаунт в Instagram, то и во “ВКонтакте” у него все получится. Главное – иметь желание и время. Особенности работы со “ВКонтакте” – здесь чуть меньше обращают внимание на фото и чуть больше – на качество текста. Приятным сюрпризом для тех, кто настраивал рекламу только в Instagram, будет то, что здесь нет сложной системы рекламных кабинетов, а техническая поддержка намного более дружелюбная.

❓Как вы оцениваете перспективы рынка SMM? Что нас ждет на горизонте, скажем, двух-трех месяцев?

💬 С середины марта по середину апреля количество посещений Instagram упало в два раза. Сеть быстро теряет свою аудиторию в России. По моему мнению, через какое то время в ней останутся только самые преданные поклонники и вместо инструмента для продвижения бизнеса Instagram превратится в альбом с цифровыми фотографиями.

Основная активность, на мой взгляд, будет пока концентрироваться во “ВКонтакте” и Телеграм. Сети активно делают нововведения: “ВКонтакте” отменил комиссию для активных авторов, чтобы они могли зарабатывать со своих ресурсов, Телеграм вносит изменения в разделы меню и интерфейс. Возможно, появится и какой-то вменяемый аналог Instagram, но, боюсь, что это произойдет не в ближайшие два-три месяца.

👉 Книгу “SMM: эффективное продвижение в соцсетях. Практическое руководство.” вы можете заказать на нашем сайте: https://bhv.ru/product/smm-effektivnoe-prodvizhenie-v-sotssetyah-prakticheskoe-rukovodstvo-2-e-izdanie/