# Отчет по теме 2

Мамакин Ярослав, А-02-23

## 1 Изучение простых объектов

![Скриншот выполненных инструкций](figure1.png)

После присваивания значений переменные отображаются в пространстве имен.
Тип - int
После удаления из оперативной памяти переменные не отображаются в пространстве имен.

## 2 Правила именования объектов

![Скриншот выполненных инструкций](figure2.png)

Переменные с правильными именами получили свои значения, с неправильными - вызвали диагностическое сообщение.

## 3 Вывод списка ключевых слов

![Вывод списка](figure3.png)

Сохранил список в переменную kluch:

```py
kluch = keyword.kwlist
```

## 4 Cписок встроенных идентификаторов

![Вывод списка](figure4.png)

Изучил приведенные функции, пример:

```py
print(max([len('stroka'), abs(min([-4, -5]))]))
```

Инструкция выводит длину строки, 6.

## 5 Чувствительность к регистру

![Демонстрация чувствительности к регистру](figure5.png)

## 6 Базовые типы объектов

Логический
```py
>>>bb1=True
>>>type(bb1)
<class 'bool'>
```
Числовые
```py
>>>ii1=-1234567890
>>>type(ii1)
<class 'int'>
>>>dv1=0b1101010
>>>type(dv1)
<class 'int'>
>>>cc2=complex(3.67,-0.45)
>>>type(cc2)
<class 'complex'>
```
Строка
```py
>>>ss1a='Это - \'строка символов \', \n \t выводимая на двух строках'
>>>print(ss1a)
Это - 'строка символов ', 
 	 выводимая на двух строках
>>>ss1b = 'Меня зовут: \n Мамакин Я. Р.'
>>>print(ss1b)
Меня зовут: 
 Мамакин Я. Р.
>>>ss1='Это - строка символов'
>>>print(ss1[17:3:-2])
омсаот 
>>>print(ss1[-4:3:-2])
омсаот 
# индексы -4 и 17 обращаются к одному элементу
>>>ss1[4]='='
Traceback (most recent call last):
  File "<pyshell#41>", line 1, in <module>
    ss1[4]='='
TypeError: 'str' object does not support item assignment
>>>ss1=ss1[:4]+'='+ss1[5:]
>>>print(ss1)
Это = строка символов
>>>print(ss1b[22:24]+ss1b[14:21]+ss1b[-1])
Я.Мамакин.
```

## 6 Сложные типы объектов

Списки:

```py
>>>spis1=[111,'Spisok',5-9j]
>>>stup=[0,0,1,1,1,1,1,1,1]
>>>stup[-8::2]
[1, 1, 1, 0] # 7, 5, 3 и 1 индексы
>>>spis1[1]='Список'
>>>spis1
[111, 'Список', (5-9j)]
>>>len(spis1)
3
>>>spis1.append('New item')
>>>spis1.append(ss1b)
>>>spis1
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Мамакин Я. Р.']
>>>spis1.pop(1)
'Список'
>>>stup.remove(1)
>>>stup.reverse()
>>>stup
[1, 1, 1, 1, 1, 1, 0, 0]
>>>spis2=[spis1,[4,5,6,7]]
>>>spis2[0][1]=78
>>>spis1
[111, 78, 'New item', 'Меня зовут: \n Мамакин Я. Р.']
>>>spis3=[56, 'sem-vosem', False, [7, 8]]
```

Кортежи:

```py
>>>kort1=(222,'Kortezh',77+8j)
>>>kort1= kort1+(1,2)
>>>kort2=kort1[:2]+kort1[3:]
>>>kort1.index(2)
4
>>>kort1.count(222)
1
>>>kort1[2]=90
Traceback (most recent call last):
  File "<pyshell#67>", line 1, in <module>
    kort1[2]=90
TypeError: 'tuple' object does not support item assignment
>>>kort3=('7-8', 'pyat-shest', (7, 8))
>>>kort3
('7-8', 'pyat-shest', (7, 8))
```

Словари:

```py
dic1={'Saratov':145, 'Orel':56, 'Vologda':45}
dic1['Orel']
56
dic1['Pskov']=78
dic1
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
sorted(dic1.keys())
['Orel', 'Pskov', 'Saratov', 'Vologda']
sorted(dic1.values())
[45, 56, 78, 145]
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]))
kortn=(7,8,9,10,11,12,13)
listn=['sem', 'vosem', 'devyat', 'desyat', 'odinnadsat']
dic6=dict(zip(kortn,listn))
dic6
{7: 'sem', 8: 'vosem', 9: 'devyat', 10: 'desyat', 11: 'odinnadsat'}
```
Функция zip остановилась на более коротком из итерируемых объектов

Множества:

```py
mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
len(mnoz1)
4
'датчик' in mnoz1
True
mnoz1.add('реле')
mnoz1.remove('линия связи')
mno={7, '8', [5, 6]}
Traceback (most recent call last):
  File "<pyshell#90>", line 1, in <module>
    mno={7, '8', [5, 6]}
TypeError: unhashable type: 'list'
mno={7, '8'}
mno.add(7)
mno
{'8', 7}
```
Список не может быть элементом множества


