#Протокол по теме 2 <Лазарев Данил Вячеславович> 1.Запуск оболочки IDLE ![](1.png) 2.Были рассмотрены операции присваивания значения объектам-переменным ![](2.png) dir() ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2'] dir(f1) ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format\_\_', '\_\_ge\_\_', '\_\_getattribute\_\_', '\_\_getnewargs\_\_', '\_\_getstate\_\_', '\_\_gt\_\_', '\_\_hash\_\_', '\_\_index\_\_', '\_\_init\_\_', '\_\_init\_subclass\_\_', '\_\_int\_\_', '\_\_invert\_\_', '\_\_le\_\_', '\_\_lshift\_\_', '\_\_lt\_\_', '\_\_mod\_\_', '\_\_mul\_\_', '\_\_ne\_\_', '\_\_neg\_\_', '\_\_new\_\_', '\_\_or\_\_', '\_\_pos\_\_', '\_\_pow\_\_', '\_\_radd\_\_', '\_\_rand\_\_', '\_\_rdivmod\_\_', '\_\_reduce\_\_', '\_\_reduce\_ex\_\_', '\_\_repr\_\_', '\_\_rfloordiv\_\_', '\_\_rlshift\_\_', '\_\_rmod\_\_', '\_\_rmul\_\_', '\_\_ror\_\_', '\_\_round\_\_', '\_\_rpow\_\_', '\_\_rrshift\_\_', '\_\_rshift\_\_', '\_\_rsub\_\_', '\_\_rtruediv\_\_', '\_\_rxor\_\_', '\_\_setattr\_\_', '\_\_sizeof\_\_', '\_\_str\_\_', '\_\_sub\_\_', '\_\_subclasshook\_\_', '\_\_truediv\_\_', '\_\_trunc\_\_', '\_\_xor\_\_', 'as\_integer\_ratio', 'bit\_count', 'bit\_length', 'conjugate', 'denominator', 'from\_bytes', 'imag', 'is\_integer', 'numerator', 'real', 'to\_bytes'] 2.1 Получим список существующих на данный момент объектов в среде IDLE. ![](4.png) 2.2 Получим список атрибутов объектjd x1 & x2 ![](3.png) 2.3 Определим классвовую принадлежность объекта f2 ![](5.png) 2.4 Удалим имеющиеся объекты и далее проверим их наличие в памяти del f1,f2 ![](6.png) Исходя из полученного результата можно сделать вывод о том, что переменные были удалены. 3.Изучим правила именования объектов. Правила именования: - имена должны состоять из латинских букв, цифр и символов подчеркивания; - имена должны начинаться с латинской буквы (иногда могут начинаться с символа подчеркивания, но это – особый вид переменных); - имена не должны совпадать с ключевыми словами и встроенными идентификаторами языка Python; большие и малые буквы в именах различаются (имена – чувствительные к регистру)! 3.1 Запишем ряд простых переменных ![](7.png) 3.2 в последующих двух случаях мы видим нарушение праыил именование, из-за чего возникает ошибка 73sr = 3 ![](8.png) ![](9.png) 4. Выведем список ключевых слов с помощью инструкции. Также сохраним полученный список с помощью переменной. ![](10.png) 5.Выведем список встроенных идентификаторов. ![](11.png) 5.1 Изучим ряд приведенных выше функций: а) Функция модуля: ![](12.png) б) Функция длины(показывает длину строки, списка и др.) ![](13.png) в) Функции максимума и минимума: ![](14.png) г) Функция возведения в сетепень: ![](15.png) д)Функция округления в большую сторону: ![](16.png) е)Функция сортировки по критерию: ![](17.png) ж)Функция суммирования: ![](18.png) з)Функция zip(соединение): ![](19.png) 6.Убедимся, что малые и большие буквы в именах объектов различаются: Присвоим сначение переменной G и выведем значения gg1 и Gg1: ![](20.png) 7.Изучим простые базовые типы объектов: логический (bool), целый (int), вещественный (float), комплексный (complex), строка символов (str). 7.1. Логический тип. ![](21.png) 7.2. Другие простые типы: Изучим их аналогично предыдущему примеру: ![](22.png) 7.3. Строка символов Строки можно заключать в апострофы или двойные ковычки: Также можно использовать экранированные последовательности, начинающиеся со знака \, например, \\, \', \", \t, \n. ![](23.png) 7.3.1 Создадим и выведем строку по шаблону, предложенному в задании: ![](24.png) 7.3.2 Многострочные строки можно задавать в виде значения объекта с использованием тройных кавычек ![](25.png) 7.3.3 Можно обращаться к частям строки символов с использованием индексов символов по их порядку в строке. При этом надо учитывать, что нумерация символов начинается с 0. С четвертого элемента можем пронаблюдать операцию «разрезания» или «создания среза», создающую новый объект: ![](26.png) 7.4. Необходимо заметить, что строка является неизменяемым объектом: ![](27.png) 7.5 Однако имеем возможность переопределить строку: ![](28.png) Создадим объекты с разными срезами исходной строки ss1b ![](28.png) Самостоятельно придумали объекты и отобразили их типы и значения: ![](29.png) 8.Изучим свойства более сложных типов объектов: 8.1.Списки: Введем примеры списков: ![](30.png) Списки можно вводить на нескольких строках: ![](31.png) Используем индексы для обращения к элементам: ![](32.png) или ![](33.png) в данном случае идет обращение к элементам списка начиная с -8 с шагом 2 Изменим список, присвоим 1му его элеиенту новое значение: ![](34.png) Измери дину списка spis1: ![](36.png) Запросим помощь в описани функции append и воспользуемся полученными сведениями: ![](37.png) Воспользуемся другим способом добавления элемента в список: ![](38.png) Добавим в конец списка spis1 строку ss1b и отобразим список. ![](39.png) Удалим элемент в списке: spis1.pop(1) 'Список' Возможны и прочие методы работы над списками: а)insert ![](40.png) б)remove ![](41.png) в)extend ![](42.png) г)clear ![](43.png) д)sort ![](44.png) е)reverse ![](45.png) ж)copy ![](46.png) з)count ![](47.png) и)index ![](48.png) Списки могут быть вложенными: ![](49.png) Обращение к элементам вложенного списка и замена значения элемента такого списка: ![](50.png) spis1 изменил своё значение в силу того, что над ним была произведена операция по замене переменной. Придумаем и создадим объект-список , элементами которого будут объекты разных типов: число, строка, логическое значение, список. ![](51.png) 8.2 Кортежи Создадим кортеж и переопределим его, так как изменению он не подлежит. ![](52.png) Добавим ещё один элемент в картеж: ![](53.png) Переопределим кортеж с удалением комплексного элемента с помощью срезов: ![](54.png) Определим индекс заданного элемента и произведем подсчет числа вхождений заданного элемента в кортеж: ![](55.png) Попробуем провести операцию замены элемента в котреже: kort1[2] = 90 Traceback (most recent call last): File "", line 1, in kort1[2] = 90 TypeError: 'tuple' object does not support item assignment Однако возникнет ошибка,в силу неизменности кортежа. Создадим объект-кортеж с элементами разных типов: число, строка, список, кортеж. ![](56.png) 8.3. Словари. Создаим словарь и обратимся к его элементу: ![](57.png) Пополним словарь: ![](58.png) Произведем сортировку двумя способами по методам keys & values ![](59.png) Создадим несколько словарей, чтобы показать, что элеементы словаря могут быть любого типа: ![](60.png) Создадим более сложный словарь из списка с элементами-кортежами с использованием функции dict ![](61.png) Создадим словарь из двух списков: один для ключей и другой – для значений, с помощью функций dict и zip: ![](62.png) Самостоятельно составим объек объект-кортеж с 7 элементами и объект-список с 5 элементами и создадим из них словарь с помощью функций dict и zip. ![](63.png) 5 - элеменов получится пять, ведь команда zip продолжала работать до тех пор пока не достигнет последнего элемента наименьшего из наборов. Приведем пример словаря с описанием состава студентов, обучающихся на АВТИ: ![](64.png) 8.4. Объект-множество. Создадим множество: ![](65.png) Определим число элементов множества: ![](66.png) Определим наличие элемента во множестве: ![](67.png) Добавим элемент во множество: ![](68.png) Удалим элемент из множемтва: ![](69.png) Самостоятельно составим объект-множество с элементами разных типов и попробуйте с ним выполнить разные операции. ![](70.png) 9.Сохраним созданный текстовый файл в своем рабочем каталоге. Закончим сеанс работы со средой.