From 6f5792d4022aa7599c32c3c3f948f29c29e48a38 Mon Sep 17 00:00:00 2001 From: KriviAS Date: Sun, 21 Sep 2025 13:52:54 +0300 Subject: [PATCH] Otchet --- TEMA2/p1.png | Bin 0 -> 12480 bytes TEMA2/report.md | 544 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 544 insertions(+) create mode 100644 TEMA2/p1.png create mode 100644 TEMA2/report.md diff --git a/TEMA2/p1.png b/TEMA2/p1.png new file mode 100644 index 0000000000000000000000000000000000000000..3e89259120cd541c5380cd8344a6cd83ea2933f0 GIT binary patch literal 12480 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 l!6M-M|BM|#KzOD!#R>8-rHH0}`Rf4Tv$T>_rG# +f3 = 15.5 +type(f3) + +del f1, f2, f3 +dir() +['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os'] +``` + +## 3 Изучение правил наименования объектов + +```py +gg1 = 1.6 +hh1 = 'Строка' +73sr = 3 +SyntaxError: invalid decimal literal +and = 7 +SyntaxError: invalid syntax +``` + +## 4 Изучение ключевых слов + +Ввод ключевых слов в переменной kw: +```py +import keyword +keyword.kwlist +['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] +kw = keyword.kwlist +kw +['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] +``` + +## 5 Изучение встроенных идентификаторов + +Список встроенных идентификаторов с помощью следующих инструкций: + +```py +import builtins +dir(builtins) +['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'ExceptionGroup', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'PythonFinalizationError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '_IncompleteInputError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip'] +``` +Функция - значение по модулю +```py +abs(-7007) +7007 +``` +Фукнция - длину объекта +```py +len("urtuitr") +7 +``` +Поиск максимального и минимального сответсвенно +```py +max(3, 4) +4 +min(3, 4) +3 +``` +Возведение в степень; показывает остаток при делении на третье значение +```py +pow(2, 2) +4 +pow(2, 2, 4) +0 +``` +Округление до значимой или до целого +```py +round(100.675, 2) +100.67 + +round(100.675) +100 +``` +Формирование последовательности по возрастанию, по алфавиту +```py +sorted([2, 3, 1]) +[1, 2, 3] + +sorted("cdab") +['a', 'b', 'c', 'd'] +``` +Вычисление суммы +```py +sum([2, 3]) +5 +``` +Объединение по соответствию +```py +list(zip([1, 2, 3], ["a", "b", "c"])) +[(1, 'a'), (2, 'b'), (3, 'c')] +``` +## 6 Использование больших и малых букв в именах объектов + +Обнаружено, что переменные, именнованые одинаковыми буквами, но отличными по размеру, не являются онинаковыми. + +```py +Gg1 = 45 +Gg1 +45 +gg1 +1.6 +``` +## 7 Изучение базовых типов обьектов + +## 7.1 Логический тип + +```py +bb1 = True; bb2 = False +bb1; bb2 +True +False +type(bb1) + +``` + +## 7.2 Другие простые типы + +Создание переменных классов int, float, complex. + +```py +ii1 = -1234567890 +ff1 = -8.9876e-12 +dv1 = 0b1101010 +vsm1 = 0o52765 +shest1 = 0x7109af6 +ccl = 2-3j +a = 3.67; b = -0.45 +cc2 = complex(a,b) +``` + +## 7.3 Строка символов + +```py +ss1='Это - строка символов' +``` +Вывод: +```py +ss1 +'Это - строка символов' +``` +Построение сложной конструкции с помощью экранированных последовательностей + +```py +ss1a = 'Это - \'строка символоов\',\n \t выводим на двух строках' +``` +Вывод: +```py +print(ss1a) +Это - 'строка символоов', + выводим на двух строках +``` +Создание строки по шаблону +```py +ss1b = "Меня зовут: \n Криви А.С." +``` +Вывод +```py +print (ss1b) +Меня зовут: + Криви А.С. +``` +Многострочные строки с помощью использования тройных ковычек. + +```py +mnogo="""Нетрудно заметить , что в +mnogo = """Нетрудно заметить, что в результате операции над числами разных типов получается число, имеющее более сложный тип из тех, которые учавствуют в операции""" +print(mnogo) +Нетрудно заметить, что в результате операции над числами разных типов получается число, имеющее более сложный тип из тех, которые учавствуют в операции +``` +При вводе такой строки символ приглашения в начале строки не появится, пока не будет вновь введены тройные кавычки. + +Элементы строки с индексами (нумерация с нуля) + +```py +ss1[0] +'Э' +ss1[8] +'р' +ss1[-2] +'о' +``` +Операции разрезания +```py +ss1[6:9] +'стр' # Символы от 6го до 8го (Символ с 9м индексом не входит) +ss1[11:] +'символ' # Часть строки от 11го индекса и до конца +ss1[11:11] +'' # Сам 11й символ +ss1[:13] +'Это - строка ' # Наоборот, с начала и до 13го символа +ss1[5:-8] +' строк' # Символы от 5го до 8го м конца +ss1[3:17:2] +' тоасм' # Символы с 3го индекса по 16й с шагом 2 +ss1[14:3:-2] +'омсаот ' # Символы с 17го по 3й, при этом шаг делается в обратном направлении + +ss1[-4:3:-2] +'мсаот ' +ss1[-6:3:-2] +'саот ' +``` +Замена символа +```py +ss1 = ss1[:4]+'='+ss1[5:] +ss1 +'Это = строка символ' +``` + +Также были самостоятельно созданы обьекты разных типов и просмотренн их класс и значение: + +```py +x = 1 +type(x) + +y = 123743986749.4574 +type(y) + +r = 'рваил' +type(x3) + +x4 = [1, 4, 9] +type(x4) + +x5 = ['one', 'two', 'three'] +type(x5) + +x6 = True +type(x6) + +x7 = True, False +type(x7) + + +x +1 +y +123743986749.4574 +r +'рваил' +x4 +[1, 4, 9] +x5 +['one', 'two', 'three'] +x6 +True +x7 +(True, False) +``` + +## 8 Изучение сложных типов обьектов + +## 8.1 Изучение типа обьекта - список + +В отличие от символьных строк, списки являются изменяемыми последовательностями, их элементы могут изменяться с помощью операций присваивания + +```py +spis1=[111,'Spisok',5-9j] +stup=[0,0,1,1,1,1,1,1,1] +spis=[1,2,3,4, + 5,6,7, + 8,9,10] +spis1[-1] +(5-9j) +stup[-8::2] +[0, 1, 1, 1] +``` +4 элемента (с 8 с конца до последнего с шагом 2) - индексы 1,3,5,7. + +```py +spis1[1]='Список' +spis1 +[111, 'Список', (5-9j)] +``` +Сколько элементов в списке? +```py +len(spis1) +3 +``` +Список атрибутов +```py +dir(spis1) +['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] +``` +Описание метода с помощью следующей функции +```py +help(spis1.append) +Help on built-in function append: + +append(object, /) method of builtins.list instance + Append object to the end of the list. +``` +С помощью методов объектов-списков можно добавлять и удалять элементы. В конец списка добавлен «New item» +```py +spis1.append('New item') +``` +или конкатенация. Список не сохраняется +```py +spis1+['New item'] +[111, 'Список', (5-9j), 'New item', 'New item'] +``` +Добавление в конец одного списка строку +```py +spis1+[ss1b] +[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Криви А.'] +``` +Удаление одного элемента +```py +spis1.pop(1) +'Список' +``` +Вывод +```py +spis1 +[111, (5-9j), 'New item'] +``` + +Использование и других методов: + + +copy - создает копию списка; +count - возвращает число, сколько раз элемент из аргумента встиречается в списке; +index - возвращает индекс первого элемента соответствующему аргументу. + +```py +l = [1, 2, 4, 3] +l +[1, 2, 4, 3] +l.insert(3,2) +l +[1, 2, 4, 2, 3] +``` +Удаление элемента +```py +l.remove(1) +l +[2, 4, 2, 3] +``` +Добавление в конец одного списка в другой +```py +l.extend(l) +l +[2, 4, 2, 3, 2, 4, 2, 3] +``` +Сортировка и переворот списка +```py +l.sort();l +[2, 2, 2, 2, 3, 3, 4, 4] +reverse(); l +[4, 4, 3, 3, 2, 2, 2, 2] +``` +Создание копии +```py +l.copy(); l +[4, 4, 3, 3, 2, 2, 2, 2] +[4, 4, 3, 3, 2, 2, 2, 2] +``` +Количество элементов +```py +l.count(1) +0 +l.count(2) +4 +``` +Индекс первого элемента соответствующему аргументу +```py +l.index(4) +0 +``` +Очищение +```py +l.clear(); l +[] +``` +Вложенный список +```py +spis2=[spis1,[4,5,6,7]] #здесь элементами являются два списка +spis2[0][1] #обращение к элементу списка spis1 +(5-9j) +spis2[0][1]=78 #Убедитесь, что значение элемента заменено на 78 +spis2 +[[111, 78, 'New item'], [4, 5, 6, 7]] +spis1 +[111, 78, 'New item'] +``` +Произошли изменения поскольку присваивание списка переменной (или включение списка в другой список) не копию, а ссылку. Список - изменяемый, именно поэтому происходят изменения и на другие ссылки, ук. на этот же список. + +Создание разноименного списка +```py +s=[bb1, jk, ss1, bb1, l]; s +[True, 3, 'Это = строка символов', True, []] +''' + +## 8.2 Обьект-кортеж + +Кортежи являются последовательностями, как списки, но они являются неизменяемыми, как строки. + +```py +kort1=(222,'Kortezh',77+8j) +kort1= kort1+(1,2) #Переопределение +kort1 +(222, 'Kortezh', (77+8j), 1, 2) +kort1= kort1+(ss1b,); kort1 #Добавление элемента +kort1 +(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Криви А.') +kort2=kort1[:2]+kort1[3:]; kort2 +(222, 'Kortezh', 1, 2, 'Меня зовут: \n Криви А.') +``` +Методы кортежа +```py +kort1.index(2) # Будет получено значение 4 +4 +kort1.count(222) #Будет получено значение 1 +1 +kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа +``` +Созданние разноименного кортежа +```py +k=(4, "kev", l, kort1); k +(4, 'kev', [], (222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Криви А.')) +``` + +## 8.3 Объект-словарь + +Создание словаря +```py +dic1={'Saratov':145, 'Orel':56, 'Vologda':45} +``` +Обращение к элементам по ключам +```py +dic1['Orel'] +56 +``` +Добавление, Пополнение словаря +```py +dic1['Pskov']=78 +dic1 +{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78} +``` +Упорядоченный словарь: по ключам и по значениям +```py +sorted(dic1.keys()) +['Orel', 'Pskov', 'Saratov', 'Vologda'] +sorted(dic1.values()) +[45, 56, 78, 145] +``` +Элементы словаря - любой тип +```py +dic2={1:'mean',2:'standart deviation',3:'correlation'} +dic3={'statistics':dic2,'POAS':['base','elementary','programming']} +dic3['statistics'][2] #Обращение к элементам словаря +'standart deviation' +dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]) #Создание сложного словаря +dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])) #Создание из двух списков - один для ключей, другой для значений +``` +Объект-кортеж с 7 элементами и объект-список с 5 элементами. Создание из них словаря. +```py +ko=(1,2,3,4,5,6,7) +li=["a", "b", "c", "d", "e"] +dic4 +{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n Криви А.'} +dic5 +{'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: \n Криви А.'} +dic7=dict(zip(ko, li)) +dic7 +{1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'} +len(dic7) +5 +``` +zip производит объединение элементов до момента окончание самого короткого. +Словарь с описанием состава студентов АВТИ +```py +>>>AVTI={'Курс I':[22,23,17,24,30,29,28,25,23,0,4,31,30,33,18,12,27],'Курс II':[18,16,12,15,29,18,21,23,13,0,4,20,31,26,16,], 'Курс III':[17,12,0,6,17,15,19,19,0,0,5,17,22,18,12], 'Курс IV':[27,16,0,13,17,15,19,20,0,0,2,15,18,16,17]} +>>>AVTI['Курс III'][5] +15 +``` + +## 8.4 Объект-множество + +Это неупорядоченная совокупность неповторяющихся элементов. Эти элементы могут быть разных, но только неизменяемых типов. Автоматическое удаление повторов: + +```py +mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}; mnoz1 +{'микропроцессор', 'двигатель', 'датчик', 'линия связи'} +``` +Определение длины объекта-множества +```py +len(mnoz1) +4 +``` +Проверка наличия эдемента с отчетов логического типа +```py +'датчик' in mnoz1 +True +``` +Добавление элементаи удаление элемента +```py +mnoz1.add('реле') +mnoz1.remove('линия связи') +``` +Вывод +```py +mnoz1 +{'микропроцессор', 'реле', 'двигатель', 'датчик'} +``` + +## 9 Завершение работы. \ No newline at end of file