ответвлено от main/python-labs
lab2 redact and test.md lab2
Этот коммит содержится в:
@@ -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)
|
||||
<class 'bool'>
|
||||
```
|
||||
### 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 => <class 'int'>
|
||||
num_two => 3.75 => <class 'float'>
|
||||
compl => (1+3.75j) => <class 'complex'>
|
||||
```
|
||||
## задание 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 => <class 'int'>
|
||||
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 => <class 'int'>
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
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}
|
||||
|
||||
31
TEMA2/test.md
Обычный файл
31
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)
|
||||
<class 'dict'>
|
||||
>>> type(b2)
|
||||
<class 'dict'>
|
||||
```
|
||||
Создать объект класса dict со всеми 5 элементами можно путем создания нового объекта с добавлением распакованных словарей b1 и b2
|
||||
```
|
||||
>>> b_combined = {**b1, **b2}
|
||||
>>> b_combined
|
||||
{'d': 23, 'f': 11, 'k': 45, 'u': 6, 'v': 67}
|
||||
```
|
||||
Ссылка в новой задаче
Block a user