From ac2f51c05f9aa0bce72a3331c225db6b83a1f0cf Mon Sep 17 00:00:00 2001 From: "FilippovDY (FilippovDY)" Date: Mon, 15 Sep 2025 10:49:11 +0300 Subject: [PATCH] Tema2/test.md --- TEMA2/report.md | 36 ++++++++++++++++++++++++------------ TEMA2/test.md | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 12 deletions(-) create mode 100644 TEMA2/test.md diff --git a/TEMA2/report.md b/TEMA2/report.md index badfcd4..b685c95 100644 --- a/TEMA2/report.md +++ b/TEMA2/report.md @@ -29,6 +29,13 @@ ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] ``` +`__annotations__` — хранит аннотации типов переменных, функций и классов в модуле +`__builtins__` — список строенных идентификаторов +`__doc__` — строка документации модуля +`__loader__` — объект, который загрузил модуль +`__name__` — имя модуля +`__package__` — имя пакета, к которому принадлежит модуль + Получение списка атрибутов любого объекта, например f1: ```py >>> dir(f1) @@ -129,7 +136,7 @@ 15 ``` -Объединение объектов в кортеж (возвращается указатель на участок памяти): +Объединение последовательности объектов в последовательность кортежей: ```py >>> list1=[1,2,5] >>> list1 @@ -148,6 +155,7 @@ >>> Gg1 45 ``` +Таким образом, большая и маленькая буква одной и той же буквы в начале имеют различие в имени переменной, так как получилось два разных объекта # 7. изучение базовых типов объектов @@ -202,12 +210,12 @@ Создание строки по шаблону: ```py - >>>ss1b= 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>' + >>>ss1b= 'Меня зовут: \n FilippovDY' >>>print(ss1b) Меня зовут: - <сюда вставьте свою фамилию и инициалы> + FilippovDY >>>ss1b - 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>' + 'Меня зовут: \n FilippovDY' ``` Многострочные строки можно задавать в виде объекта с использованием тройных кавычек: @@ -274,6 +282,7 @@ Создание объектов разных типов ```py + >>> number1=45 >>> type(number1) >>> number2='Число' @@ -294,7 +303,7 @@ ... 8,9,10] #Список можно вводить на нескольких строках ``` -Можно использовать индексы точно также, как и сэлементами символьной строки +Можно использовать индексы точно также, как и с элементами символьной строки ```py >>> spis1[-1] (5-9j) @@ -348,14 +357,14 @@ ```py >>> spis1.insert(1, "hello") >>> spis1 - [111, 'hello', (5-9j), 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>'] + [111, 'hello', (5-9j), 'New item', 'Меня зовут: \n FilippovDY', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>'] ``` Удаление элемента по значению: ```py >>> spis1.remove(5-9j) >>> spis1 - ['hello', 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>'] + ['hello', 'New item', 'Меня зовут: \n FilippovDY', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>'] ``` Добавление элементов объекта в конец другого объекта: @@ -363,7 +372,7 @@ >>> spis2=['hello', 255, 5-10j] >>> spis1.extend(spis2) >>> spis1 - ['hello', 'New item', 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>', 'hello', 255, (5-10j)] + ['hello', 'New item', 'Меня зовут: \n FilippovDY', 'М', 'е', 'н', 'я', ' ', 'з', 'о', 'в', 'у', 'т', ':', ' ', '\n', ' ', '<', 'с', 'ю', 'д', 'а', ' ', 'в', 'с', 'т', 'а', 'в', 'ь', 'т', 'е', ' ', 'с', 'в', 'о', 'ю', ' ', 'ф', 'а', 'м', 'и', 'л', 'и', 'ю', ' ', 'и', ' ', 'и', 'н', 'и', 'ц', 'и', 'а', 'л', 'ы', '>', 'hello', 255, (5-10j)] ``` Полное очищение списка: @@ -423,7 +432,11 @@ >>> spis2[0][1]=78 >>> spis2 [[10, 78, 5, 4, -3], [4, 5, 6, 7]] + >>> spis1 + [10, 78, 5, 4, -3] ``` +Видим, что spis1 тоже изменился. Упоминая spis1 в строке spis2=[spis1,[4,5,6,7]] мы не создаем копию spis1, поэтому его изменения в составе spis2 отображаются на исходном spis1. + Создание объекта-списка, элементами которого будут объекты разных типов ```py @@ -447,14 +460,14 @@ (222, 'Kortezh', (77+8j), 1, 2) >>> kort1= kort1+(ss1b,) >>> kort1 - (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>') + (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n FilippovDY') ``` Переопределение кортежа с удалением комплексного элемента: ```py >>> kort2=kort1[:2]+kort1[3:] >>> kort2 - (222, 'Kortezh', 1, 2, 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>') + (222, 'Kortezh', 1, 2, 'Меня зовут: \n FilippovDY') ``` Определение индекса заданного элемента: @@ -519,14 +532,13 @@ ```py >>> dic2={1:'mean',2:'standart deviation',3:'correlation'} >>> dic3={'statistics':dic2,'POAS':['base','elementary','programming']} - dic3['statistics'][2] ``` Создание более сложного словаря из списка с элементами-кортежами: ```py >>> dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]) >>> dic4 - {1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n <сюда вставьте свою фамилию и инициалы>'} + {1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n FilippovDY'} ``` Создание словаря из двух списков (одного для ключей, другой для значений): diff --git a/TEMA2/test.md b/TEMA2/test.md new file mode 100644 index 0000000..af041ee --- /dev/null +++ b/TEMA2/test.md @@ -0,0 +1,33 @@ + # Задание +Пусть предполагается выполнить инструкции +```py +>>> u=[1,2,3,4,5] +>>> v=['a',u,'v',[11,12]] +>>> print(v[1][3]) +``` +Не выполняя эти инструкции, подумайте, какое значение будет выведено на экран? Проверьте свое предположение вводом инструкций. + + # Решение +У нас есть список u и список v. Список u является вложенным списком списка v. Если мы выведем список v: +```py +>>> print(v) +['a', [1,2,3,4,5], 'v', [11,12]] +``` +То мы увидим внутри списка v список u. Тогда при выполнении инструкции: +```py +>>> print(v[1][3]) +``` +Мы получим следующий ответ: +```py +4 +``` + +Так как индексация в Python начинается с 0. + +Теперь проверим решение вводом инструкций: +```py +>>> u=[1,2,3,4,5] +>>> v=['a',u,'v',[11,12]] +>>> print(v[1][3]) +4 +``` \ No newline at end of file