diff --git a/TEMA2/report.md b/TEMA2/report.md index b4dfc7f..97c3724 100644 --- a/TEMA2/report.md +++ b/TEMA2/report.md @@ -1,10 +1,11 @@ -# Отчет по теме 1 +# Отчет по теме 2 Махнов Георгий, А-01-23 ## Тема 2. Базовые типы объектов ## задание 2 +#### Изучим операторы присваивания, функцию для определения существующих объектов dir и функцию для определения типа объекта type ``` >>> f1 = 16; f2 = 3 >>> f1,f2 @@ -25,6 +26,7 @@ NameError: name 'f1' is not defined ``` ## задание 3. +#### Изучим правила именования объектов в Python ``` >>> ggl = ,6 SyntaxError: invalid syntax @@ -36,12 +38,14 @@ SyntaxError: invalid syntax SyntaxError: invalid syntax ``` ## задание 4. +#### Выведем список ключевых слов ``` >>> import keyword >>> keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', '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. +#### Выведем список встроенных идентификаторов ``` >>> import builtins >>> dir(builtins) @@ -58,6 +62,9 @@ SyntaxError: invalid syntax 'any', 'ascii', 'bin', 'bool', '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'] +``` +#### Изучим и проверим назначение функций abs, len, max, min, pow, round, sorted, sum, zip +``` >>> x = -3 >>> abs(x) 3 @@ -82,13 +89,16 @@ SyntaxError: invalid syntax [(1, 13), (2, 5), (3, 2), (4, 9), (5, 1), (8, 0)] ``` ## задание 6. +#### Убедимся, что Python чувствителен к регистру и что переменные, которые различаются размером буквы, будут разными ``` >>> Gg1=45 >>> gg1,Gg1 (1.6, 45) ``` ## задание 7. -### 7.1 +#### Изучим простые базовые типы объектов: логический (bool), целый (int), вещественный (float), комплексный (complex), строка символов (str). +### 7.1 Логический объект + ``` >>> bb1=True; bb2=False >>> bb1;bb2 @@ -97,7 +107,7 @@ False >>> type(bb1) ``` -### 7.2 +### 7.2 Целочисленные, комплексные объекты, объекты с разной системой счисления ``` >>>ii1=-1234567890 >>>ff1=-8.9876e-12 @@ -112,7 +122,7 @@ False >>> cc2 (3.67-0.45j) ``` -### 7.3 +### 7.3 Строки ``` >>>ss1='Это - строка символов' >>>ss1="Это - строка символов" @@ -159,7 +169,9 @@ TypeError: 'str' object does not support item assignment >>> ss1b = ss1b[0:4] + ss1b[11:] + " " + ss1b[5:10] >>> ss1b 'Меня \n Георгий зовут' - +``` +#### Самостоятельно придумаем значения и создадим объекты разных типов. После этого отобразим типы и значения созданных объектов. +``` >>> six_int = 0x7109af6 >>> num_one = 1 >>> num_two = 3.75 @@ -171,8 +183,8 @@ six_int => 118528758 => num_two => 3.75 => compl => (1+3.75j) => ``` -## задание 8. -### 8.1 +## задание 8. Изучим более сложные типы объектов: списки (list), кортежи (tuple), словари (dict), множества (set). +### 8.1 Списки (list) ``` >>> spis1=[111,'Spisok',5-9j] >>> stup=[0,0,1,1,1,1,1,1,1] @@ -234,11 +246,14 @@ six_int => 118528758 => 78 >>> spis1 [111, 78, 'New item', 'Меня \n Георгий зовут', 1, 2, 3] +``` +#### Придумаем и создадим свой объект-список, элементами которого будут объекты разных типов: число, строка, логическое значение, список +``` >>> rand_list = [2, 'stringgg', True, [1,2,3]] >>> rand_list [2, 'stringgg', True, [1, 2, 3]] ``` -### 8.2 +### 8.2 Кортежи (tuple) ``` >>> kort1=(222,'Kortezh',77+8j) >>> kort1 @@ -260,11 +275,14 @@ six_int => 118528758 => Traceback (most recent call last): File "", line 1, in TypeError: 'tuple' object does not support item assignment +``` +#### Создадим объект-кортеж с элементами разных типов: число, строка, список, кортеж. +``` >>> kort_rand = (1, 'string', [1,4,2], (3,'r')) >>> kort_rand (1, 'string', [1, 4, 2], (3, 'r')) ``` -### 8.3 +### 8.3 Словарь (dict) ``` >>> dic1={'Saratov':145, 'Orel':56, 'Vologda':45} >>> dic1 @@ -292,13 +310,16 @@ TypeError: 'tuple' object does not support item assignment >>> dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])) >>> dic5 {'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня \n Георгий зовут'} +``` +#### Самостоятельно придумаем объект-кортеж с 7 элементами и объект-список с 5 элементами и попробуйте создать из них словарь с помощью функций dict и zip. В словаре будет всего лишь 5 объектов, так как функция zip будет объединять с первых элементов обоих объектов до тех пор, пока не закончится значения одного из объектов +``` >>> cort_1 = {87, 83, 84, 85, 95, 82, 86} >>> list_1 = ["ESU", "IAD", "TAU", "NODES", "Nets"] >>> dict_1 = dict(zip(cort_1, list_1)) >>> dict_1 {82: 'ESU', 83: 'IAD', 84: 'TAU', 85: 'NODES', 86: 'Nets'} ``` -### 8.4 +### 8.4 Множество (set) ``` >>> mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'} @@ -314,6 +335,9 @@ True >>> mnoz1.remove('линия связи') >>> mnoz1 {'датчик', 'реле', 'микропроцессор', 'двигатель'} +``` +#### Самостоятельно придумаем объект-множество с элементами разных типов и попробуйте с ним выполнить разные операции. +``` >>> mnoz_2 = {2, 15, 'hi', 15, 7j-13, 'hi', True} >>> mnoz_2 {True, 2, 'hi', (-13+7j), 15} diff --git a/TEMA2/test.md b/TEMA2/test.md new file mode 100644 index 0000000..82b382d --- /dev/null +++ b/TEMA2/test.md @@ -0,0 +1,31 @@ +# Индивидуальное контрольное задание по теме 2 + +Махнов Георгий, А-01-23 + +## Задание 3 +Пусть созданы два объекта с помощью инструкций: + +b1={'d':23,'f':11,'k':45} + +b2={'u':6,'v':67} + +К какому классу относятся эти объекты? Как создать объект того же класса со всеми 5 элементами? + + +## Решение + +Оба объекта относятся к классу словарь (dict), так как в них присутствуют пара "ключ:значение". Также это можно проверить путем команды: +``` +>>> b1={'d':23,'f':11,'k':45} +>>> b2={'u':6,'v':67} +>>> type(b1) + +>>> type(b2) + +``` +Создать объект класса dict со всеми 5 элементами можно путем создания нового объекта с добавлением распакованных словарей b1 и b2 +``` +>>> b_combined = {**b1, **b2} +>>> b_combined +{'d': 23, 'f': 11, 'k': 45, 'u': 6, 'v': 67} +``` \ No newline at end of file