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