Этот коммит содержится в:
2026-03-01 19:37:14 +03:00
родитель 0e3c7b5f2e
Коммит 770a23cac4
5 изменённых файлов: 1089 добавлений и 0 удалений

517
TEMA2/Tema2_report.md Обычный файл
Просмотреть файл

@@ -0,0 +1,517 @@
# Отчет по Теме 2
Филиппова Евгения, А-01-23
## 1. Запуск оболочки IDLE.
Установлен рабочий каталог:
```py
import os
os.chdir('C:\\Users\\filip\\Desktop\\python-labs\\TEMA2')
```
## 2. Изучение простых объектов.
Рассмотрим операции присваивания значения объектам - переменным.
```py
f1=16; f2=3
f1,f2
(16, 3)
f1;f2
16
3
```
Обратим внимание, что для вывода значений переменных, их можно записать в одной строке, разделяя знаком "," или ";".
```py
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os']
```
Функция dir() без аргументов выводит объекты, определенные в текущей области:
1. Встроенные имена (атрибуты модуля) - 'annotations', 'builtins', 'doc', 'loader', 'name', 'package', 'spec'. Python определяет их автоматически.
2. Ранее заданные объекты: 'f1', 'f2'.
3. Модуль 'os' - часть стандартной библиотеки, он предоставляет функции для взаимодействия с операционной системой.
Для получения списка атрибутов объекта f1:
```py
dir(f1)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'is_integer', 'numerator', 'real', 'to_bytes']
```
Основные группы атрибутов, выведенные выше: арифметические операции, операции сравнения, битовые операции, представления и преобразования и др.
Для определения классовой принадлежности f2 используем функцию type():
```py
type(f2)
<class 'int'>
```
f2 - целое число.
Для удаления объекта или его части из оператичной памяти используем инструкцию del(). После проверим, остались ли эти объекты в памяти.
```py
del f1,f2
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
```
## 3. Изучение правил именования объектов в Python.
Основные правила именования объектов - имена состоят из латинских букв, цифр и символов подчеркивания, не должны начинаться с цифр и не должны совпадать с ключевыми слова, чувствительность к регистрам.
Проверим это:
```py
gg1=1.6
hh1='Строка'
73sr=3 #начинается с цифры
SyntaxError: invalid decimal literal
and=7 #совпадает с ключевым словом
SyntaxError: invalid syntax
```
Первые 2 объявления объектов выполнены по соответствующим правила, тогда как 3 и 4 команды, нарушают из, на что среды выдает диагностическое сообщение.
## 4. Ключевые слова в Python
Просмотрим список ключевых слов и сохраним его в переменной kword.
```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']
kword=['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']
```
Обратим внимание, что в списке есть dir() и type().
С помощью функции help() изучила назначения функций:
1. abs() - возвращает абсолютное значение аргумента.
2. len() - возвращает длину объекта.
3. max() - возвращает наибольшее значение из переданных аргументов или элементов итерируемого объекта. работает с числами, строками и др.
4. min() - возвращает наименьшее значение из переданных аргументов или элементов итерируемого объекта. работает с числами, строками и др.
5. pow() - функция для возведения чисел в степень. pow(base, exp, mod=None), base - основание, exp - показатель степени, mod - необязательный, делитель для вычисления остатка.
6. round() - возвращает значение, округленное с заданной точностью.
7. sorted() - функция для сортировки элементов итерируемого объекта (списка, кортежа, строки и т.д) sorted(iterable, key=None, reverse=False). iterable - обязательный, передается итерируемый объект, который нужно отсортировать; key - необязательный, ф-я 1го аргумента, применяемая к каждому элементу; reverse - необязательный, булевый параметр, задающий направление сортировки.
8. sum() - суммирует элементы итерируемых объектов. sum(iterable, start=0), iterable - итерируемый объект, элементы которого нужно суммировать(числа). start - начальное значение суммы, которое добавляется к сумме всех элементов последовательности. По умолчанию 0.
9. zip(). zip объект выдает кортежи длиной n, где n - количество итераций. zip(*iterables), iterables - итерируемые объекты для объединения. Пример: 1-й кортеж содержит 1-е элементы из каждой коллекции, 2-й - 2-е элементы и тд. Продолжается, пока не будет исчерпан аргумент.
```py
abs(-10)
10
list1=[1,2,3,4,5]
len(list1)
5
max(list1)
5
min(list1)
1
pow(2,4)
16
round(5.84, 1)
5.8
sorted(list1, reverse=True)
[5, 4, 3, 2, 1]
sum(list1)
15
list1=[1,2,3,4,5]
stroka=['a','b','c','d']
zipres=zip(list1, stroka)
resu=list(zipres)
print(resu)
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
```
## 6. Пример правила именования объектов
ранее мы присваивали gg1=1.6
```py
Gg1=45
gg1
1.6
Gg1
45
```
## 7. Изучение базовых типов объектов
## 7.1. Логический тип:
```py
bb1=True
bb2=False
bb1; bb2
True
False
type(bb1)
<class 'bool'>
```
## 7.2. Другие простые типы
```py
ii1=-1234567890 #целое число
ff1=-8.9876e-12 #экспоненциальная форма записи вещественного числа
dv1=0b1101010 # двоичное число
type(dv1)
<class 'int'> #целое
vsm1=0o52765 #восьмеричное число
shest1=0x7109af6 #шестнадцатеричное число
cc1=2-3j # =комплексное число
a=3.67; b=-0.45
cc2=complex(a,b) #создание комплексного числа
```
## 7.3. Строка символов
Строки можно заключать в апострофы или в двойные кавычки:
```py
ss1='Это - строка символов'
ss1="Это - строка символов"
ss1
'Это - строка символов'
```
Внутри строки символов можно использовать, так называемые, «экранированные последовательности, начинающиеся со знака «\»(обратный слеш), например, \\, \', \", \t, \n и другие. Пример:
```py
ss1a="Это - \" строка символов \", \n \t выводимая на двух строках"
print(ss1a)
Это - " строка символов ",
выводимая на двух строках
ss1b='Меня зовут: \n Филиппова Е.И.'
print(ss1b)
Меня зовут:
Филиппова Е.И.
```
Многострочные строки можно задавать в виде значения объекта с использованием тройных кавычек:
```py
mnogo="""Нетрудно заметить, что в результате операции
над числами разных типов получается число,
имеющее более сложный тип из тех, которые участвуют в операции."""
print(mnogo)
Нетрудно заметить, что в результате операции
над числами разных типов получается число,
имеющее более сложный тип из тех, которые участвуют в операции.
```
Можно обращаться к частям строки символов с использованием индексов символов по их порядку в строке. Нумерация символов начинается с 0.
```py
print(ss1[0])
Э
print(ss1[8])
р
print(ss1[-2])
о #при знаке «-» отсчет от конца строки
print(ss1[6:9])
стр #при знаке «-» отсчет от конца строки
print(ss1[13:])
символов #Это часть строки – с 13-го индекса и до конца
print(ss1[:13])
Это - строка #Это часть строки – с начала и до 12-го индекса включительно
print(ss1[5:-8])
строка #Это часть строки – с 5-го индекса и до 8-го от конца
print(ss1[3:17:2])
тоасм #Часть строки – с 3-го по 16-й индексы с шагом 2
print(ss1[17:3:-2])
омсаот #Часть строки – с 3-го по 16-й индексы с шагом 2
print(ss1[-4:3:-2])
омсаот
```
Строка является неизменяемым объектом:
```py
ss1[4]='='
Traceback (most recent call last):
File "<pyshell#102>", line 1, in <module>
ss1[4]='='
TypeError: 'str' object does not support item assignment
```
Можно это сделать по-другому, переопределив строку:
```py
ss1=ss1[:4]+'='+ss1[5:]
print(ss1)
Это = строка символов
```
С использованием ранее созданной строки ss1b мои примеры срезов:
```py
print(ss1b)
Меня зовут:
Филиппова Е.И.
print(ss1b[3:10])
я зовут
print(ss1b[18:6:-1])
пилиФ
:тув
print(ss1b[1:-19:1])
еня зову
```
## 7.4. Собственные примеры объектов с разными типами
```py
task1=0b1100001
type(task1)
<class 'int'>
task2=4.5-6j
type(task2)
<class 'complex'>
task3="""Строка символов
при вызове type() вывод будет
str"""
type(task3)
<class 'str'>
```
## 8. Типы объектов: списки (list), кортежи (tuple), словари (dict), множества (set).
## 8.1 Список (list)
Пример списка с 3 элементами разных типов:
```py
spis1=[111,'Spisok',5-9j] #int, str,complex
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] #с 8го от конца до 2 включительно
[0, 1, 1, 1]
spis1[1]='Список' #заменили второй элемент списка
spis1
[111, 'Список', (5-9j)]
len(spis1) #длина списка
3
help(spis1.append)
Help on built-in function append:
append(object, /) method of builtins.list instance
Append object to the end of the list.
#добавляем в конец списка элемент
```
```py
spis1.append('New item')
spis1
[111, 'Список', (5-9j), 'New item'] #в конце списка появился новый элемент
spis1+['New item'] #еще 1 способ добавления, но новый список только отображается, но не сохраняется(конкатенация)
[111, 'Список', (5-9j), 'New item', 'New item']
#док-во что не сохраняется
spis1
[111, 'Список', (5-9j), 'New item']
spis1.append(ss1b)
spis1
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Филиппова Е.И.']
spis1.pop(1) #удаляем 1 элемент(нумерация с 0)
'Список'
spis1
[111, (5-9j), 'New item', 'Меня зовут: \n Филиппова Е.И.']
```
## 8.1.2 Разбор других методов
insert() - вставляет элемент в список перед указанным индексом.
```py
spis1
[111, (5-9j), 'New item', 'Меня зовут: \n Филиппова Е.И.']
spis1.insert(2,111)
spis1
[111, (5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.']
```
remove() - удаляет 1е вхождение элемента в список.
```py
spis1.remove(111)
spis1
[(5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.']
```
extend() - расширяет список, добаляя указанные элменты.
```py
spis1.extend('abc')
spis1
[(5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c']
```
clear() - удаляет все элементы из списка => пустой список.
```py
myspis=[1,2,3]
myspis
[1, 2, 3]
myspis.clear()
myspis
[]
```
sort() - сортирует элементы списка, key - функция, по которой можно сортировать элементы, reverse - по возрастанию или убыванию.
```py
myspis1=['abc', 'defghij', 'kl']
myspis1.sort(key=len)
myspis1
['kl', 'abc', 'defghij']
```
reverse() - переворачивает порядок элементов
```py
myspis1.reverse()
myspis1
['defghij', 'abc', 'kl']
```
copy() - создает поверхностную копию списка.
```py
my_list = [1, 2, 3, 4]
new_list=my_list.copy()
new_list[0] = 10
print(my_list)
[1, 2, 3, 4]
print(new_list)
[10, 2, 3, 4]
```
count() - вовращает количество раз, которое элемент встречается в списке.
```py
fff=[1,6,9,0,0,0,2]
fff.count(0)
3
```
index() - вовращает индекс 1го вхождения элемента в список.
```py
fff.index(9)
2
```
Списки могут быть вложенными:
```py
spis2=[spis1,[4,5,6,7]] #элементы - 2 списка
spis2
[[(5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c'], [4, 5, 6, 7]]
spis2[0][1]
111 #обращение к элементу списка spis1
spis1
[(5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c']
spis2[0][1]=78 #заменяем значение элемента 78
spis1
[(5-9j), 78, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c']
```
В spis1 также изменился второй элемент, так как списки содержат не копию , а хранят ссылку на объект.
Пример объекта-списка:
```py
taskspis=['Python', 2467, False, myspis]
taskspis
['Python', 2467, False, []]
```
## 8.2 Объект - кортеж
Различия кортежа и списка: кортеж нельзя изменить, заключается в круглые скобки.
Сходства: является последовательностью, поддерживабт включение различных типов объектов, а также операций.
```py
kort1=(222,'Kortezh',77+8j) #создание кортежа
kort1= kort1+(1,2) #переопределение кортежа
kort1
(222, 'Kortezh', (77+8j), 1, 2)
kort1= kort1+(ss1b,) добавим еще 1 элемент.
kort1
(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Филиппова Е.И.')
kort2=kort1[:2]+kort1[3:] #работаем с индексами, удаляем 3 элемент.
kort2
(222, 'Kortezh', 1, 2, 'Меня зовут: \n Филиппова Е.И.')
kort2.index(2)
3
kort1.count(222)
1
```
Пример того, что кортеж нельзя изменить
```py
kort1[2]=90
Traceback (most recent call last):
File "<pyshell#212>", line 1, in <module>
kort1[2]=90
TypeError: 'tuple' object does not support item assignment
```
Соответственно методов append и pop у кортежей нет, т.к. они являются неизменяемыми.
Пример собственно придуманного объекта кортежа:
```py
kort3=(55,'Tema2',spis1)
kort4=(759,'Example',kort3, spis2)
kort4
(759, 'Example', (55, 'Tema2', [(5-9j), 78, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c']), [[(5-9j), 78, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c'], [4, 5, 6, 7]])
```
## 8.3 Объект - словарь
Является совокупностью пар типа 'key':'value' В качестве ключей могут использоваться неизменяемые типы объектов, например строки. Значениями могут быть объекты любого типа. Ссылка на ключ обеспечивает быстрый доступ к связанному с ним значению. Отличие от списков и кортежей - не является последовательностью. Его элементы могут изменяться с помощью операции присваивания значений.
```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]
dic1
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
```
Словарь также может быть элементов словаря:
```py
dic2={1:'mean',2:'standart deviation',3:'correlation'}
dic3={'statistics':dic2,'POAS':['base','elementary','programming']}
dic3
{'statistics': {1: 'mean', 2: 'standart deviation', 3: 'correlation'}, 'POAS': ['base', 'elementary', 'programming']}
dic3['statistics'][2]
'standart deviation'
```
```py
dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)])
dic4
{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: Филиппова Е.И.'}
dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b]))
dic5
{'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: Филиппова Е.И.'}
```
```py
tupl3 = ('A', 'B', 'C', 'D', 'E', 'F','G')
l1st = ['1', '2', '3', '4', '5']
dict227 = dict(zip(tupl3,l1st))
dict227
{'A': '1', 'B': '2', 'C': '3', 'D': '4', 'E': '5'}
len(dict227)
5
```
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={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
print(mnoz1)
{'двигатель', 'датчик', 'микропроцессор', 'линия связи'}
```
Повторяющиеся элементы были удалены.
Некоторые операции во множестве:
```py
len(mnoz1) #кол-во элементов
4
'датчик' in mnoz1 #проверка наличия
True
mnoz1.add('реле') #добавление элемента
print(mnoz1)
{'двигатель', 'датчик', 'линия связи', 'микропроцессор', 'реле'}
mnoz1.remove('линия связи') #удаление элемента
print(mnoz1)
{'двигатель', 'датчик', 'микропроцессор', 'реле'}
```
Было создано множество:
```py
mnoz1 = {'лев', '1', True, ('тигр', 1, 3)}
mnoz1
{'1', True, 'лев', ('тигр', 1, 3)}
mnoz1.remove(True)
mnoz1
{'1', 'лев', ('тигр', 1, 3)}
mnoz1.add('черный')
mnoz1
{('тигр', 1, 3), 'лев', '1', 'черный'}
```
## 9.
```py
exit()
```

479
TEMA2/protokol.txt Обычный файл
Просмотреть файл

@@ -0,0 +1,479 @@
#Протокол по Теме 2 Филиппова Евгения Игоревна
import os
os.chdir('C:\\Users\\filip\\Desktop\\python-labs\\TEMA2')
f1=16; f2=3
f1,f2
(16, 3)
f1;f2
16
3
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os']
dir(f1)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'is_integer', 'numerator', 'real', 'to_bytes']
type(f2)
<class 'int'>
del f1,f2
dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os']
gg1=1.6
hh1='Строка'
73sr=3
SyntaxError: invalid decimal literal
and=7
SyntaxError: invalid syntax
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']
kword=['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']
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']
help(abs)
Help on built-in function abs in module builtins:
abs(x, /)
Return the absolute value of the argument.
help(len)
Help on built-in function len in module builtins:
len(obj, /)
Return the number of items in a container.
help(max)
Help on built-in function max in module builtins:
max(...)
max(iterable, *[, default=obj, key=func]) -> value
max(arg1, arg2, *args, *[, key=func]) -> value
With a single iterable argument, return its biggest item. The
default keyword-only argument specifies an object to return if
the provided iterable is empty.
With two or more positional arguments, return the largest argument.
help(min)
Help on built-in function min in module builtins:
min(...)
min(iterable, *[, default=obj, key=func]) -> value
min(arg1, arg2, *args, *[, key=func]) -> value
With a single iterable argument, return its smallest item. The
default keyword-only argument specifies an object to return if
the provided iterable is empty.
With two or more positional arguments, return the smallest argument.
help(pow)
Help on built-in function pow in module builtins:
pow(base, exp, mod=None)
Equivalent to base**exp with 2 arguments or base**exp % mod with 3 arguments
Some types, such as ints, are able to use a more efficient algorithm when
invoked using the three argument form.
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
help(sorted)
Help on built-in function sorted in module builtins:
sorted(iterable, /, *, key=None, reverse=False)
Return a new list containing all items from the iterable in ascending order.
A custom key function can be supplied to customize the sort order, and the
reverse flag can be set to request the result in descending order.
help(sum)
Help on built-in function sum in module builtins:
sum(iterable, /, start=0)
Return the sum of a 'start' value (default: 0) plus an iterable of numbers
When the iterable is empty, return the start value.
This function is intended specifically for use with numeric values and may
reject non-numeric types.
help(zip)
Help on class zip in module builtins:
class zip(object)
| zip(*iterables, strict=False)
|
| The zip object yields n-length tuples, where n is the number of iterables
| passed as positional arguments to zip(). The i-th element in every tuple
| comes from the i-th iterable argument to zip(). This continues until the
| shortest argument is exhausted.
|
| If strict is true and one of the arguments is exhausted before the others,
| raise a ValueError.
|
| >>> list(zip('abcdefg', range(3), range(4)))
| [('a', 0, 0), ('b', 1, 1), ('c', 2, 2)]
|
| Methods defined here:
|
| __getattribute__(self, name, /)
| Return getattr(self, name).
|
| __iter__(self, /)
| Implement iter(self).
|
| __next__(self, /)
| Implement next(self).
|
| __reduce__(self, /)
| Return state information for pickling.
|
| __setstate__(self, object, /)
| Set state information for unpickling.
|
| ----------------------------------------------------------------------
| Static methods defined here:
|
| __new__(*args, **kwargs)
| Create and return a new object. See help(type) for accurate signature.
abs(-10)
10
list1=[1,2,3,4,5]
len(list1)
5
max(list1)
5
min(list1)
1
pow(2,4)
16
round(5.84, 1)
5.8
sorted(list1, reverse=True)
[5, 4, 3, 2, 1]
sum(list1)
15
list1=[1,2,3,4,5]
stroka=['a','b','c','d']
zipres=zip(list1, stroka)
resu=list(zipres)
print(resu)
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
Gg1=45
gg1
1.6
Gg1
45
bb1=True
bb2=False
bb1; bb2
True
False
type(bb1)
<class 'bool'>
ii1=-1234567890
ff1=-8.9876e-12
dv1=0b1101010
vsm1=0o52765
shest1=0x7109af6
cc1=2-3j
a=3.67; b=-0.45
cc2=complex(a,b)
type(dv1)
<class 'int'>
ss1='Это - строка символов'
ss1
'Это - строка символов'
ss1="Это - строка символов"
ss1
'Это - строка символов'
ss1a="Это - \" строка символов \", \n \t выводимая на двух строках"
print(ss1a)
Это - " строка символов ",
выводимая на двух строках
ss1b='Меня зовут: \n Филиппова Е.И.'
print(ss1b)
Меня зовут:
Филиппова Е.И.
mnogo="""Нетрудно заметить, что в результате операции
над числами разных типов получается число,
имеющее более сложный тип из тех, которые участвуют в операции."""
print(mnogo)
Нетрудно заметить, что в результате операции
над числами разных типов получается число,
имеющее более сложный тип из тех, которые участвуют в операции.
print(ss1[0])
Э
print(ss1[8])
р
print(ss1[-2])
о
print(ss1[6:9])
стр
print(ss1[13:])
символов
print(ss1[:13])
Это - строка
print(ss1[5:-8])
строка
print(ss1[3:17:2])
тоасм
print(ss1[17:3:-2])
омсаот
print(ss1[-4:3:-2])
омсаот
ss1[4]='='
Traceback (most recent call last):
File "<pyshell#102>", line 1, in <module>
ss1[4]='='
TypeError: 'str' object does not support item assignment
ss1=ss1[:4]+'='+ss1[5:]
print(ss1)
Это = строка символов
print(ss1b)
Меня зовут:
Филиппова Е.И.
print(ss1b[3:10])
я зовут
print(ss1b[18:6:-1])
пилиФ
:тув
print(ss1b[1:-19:1])
еня зову
task1=0b1100001
type(task1)
<class 'int'>
task2=4.5-6j
type(task2)
<class 'complex'>
task3="""Строка символов
при вызове type() вывод будет
str"""
type(task3)
<class 'str'>
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]
spis1[1]='Список'
spis1
[111, 'Список', (5-9j)]
len(spis1)
3
help(spis1.append)
Help on built-in function append:
append(object, /) method of builtins.list instance
Append object to the end of the list.
spis1.append('New item')
spis1
[111, 'Список', (5-9j), 'New item']
spis1+['New item']
[111, 'Список', (5-9j), 'New item', 'New item']
spis1
[111, 'Список', (5-9j), 'New item']
spis1.append(ss1b)
spis1
[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n Филиппова Е.И.']
spis1.pop(1)
'Список'
spis1
[111, (5-9j), 'New item', 'Меня зовут: \n Филиппова Е.И.']
spis1.insert(2,111)
spis1
[111, (5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.']
spis1.remove(111)
spis1
[(5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.']
spis1.extend('abc')
spis1
[(5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c']
myspis=[1,2,3]
myspis
[1, 2, 3]
myspis.clear()
myspis
[]
myspis1=['abc', 'defghij', 'kl']
myspis1.sort(key=len)
myspis1
['kl', 'abc', 'defghij']
myspis1.reverse()
myspis1
['defghij', 'abc', 'kl']
my_list = [1, 2, 3, 4]
new_list=my_list.copy()
new_list[0] = 10
print(my_list)
[1, 2, 3, 4]
print(new_list)
[10, 2, 3, 4]
fff=[1,6,9,0,0,0,2]
fff.count(0)
3
fff.index(9)
2
spis2=[spis1,[4,5,6,7]]
spis2
[[(5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c'], [4, 5, 6, 7]]
spis2[0][1]
111
spis1
[(5-9j), 111, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c']
spis2[0][1]=78
spis1
[(5-9j), 78, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c']
spis2
[[(5-9j), 78, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c'], [4, 5, 6, 7]]
taskspis=['Python', 2467, False, myspis]
taskspis
['Python', 2467, False, []]
kort1=(222,'Kortezh',77+8j)
kort1= kort1+(1,2)
kort1
(222, 'Kortezh', (77+8j), 1, 2)
kort1= kort1+(ss1b,)
kort1
(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n Филиппова Е.И.')
kort2=kort1[:2]+kort1[3:]
kort2
(222, 'Kortezh', 1, 2, 'Меня зовут: \n Филиппова Е.И.')
kort2.index(2)
3
kort1.count(222)
1
kort1[2]=90
Traceback (most recent call last):
File "<pyshell#212>", line 1, in <module>
kort1[2]=90
TypeError: 'tuple' object does not support item assignment
kort3=(55,'Tema2',spis1)
kort4=(759,'Example',kort3, spis2)
kort4
(759, 'Example', (55, 'Tema2', [(5-9j), 78, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c']), [[(5-9j), 78, 'New item', 'Меня зовут: \n Филиппова Е.И.', 'a', 'b', 'c'], [4, 5, 6, 7]])
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]
dic1
{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78}
dic2={1:'mean',2:'standart deviation',3:'correlation'}
dic3={'statistics':dic2,'POAS':['base','elementary','programming']}
dic3
{'statistics': {1: 'mean', 2: 'standart deviation', 3: 'correlation'}, 'POAS': ['base', 'elementary', 'programming']}
dic3['statistics'][2]
'standart deviation'
ic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)])
dic4
{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: Филиппова Е.И.'}
dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b]))
dic5
{'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: Филиппова Е.И.'}
tupl3 = ('A', 'B', 'C', 'D', 'E', 'F','G')
l1st = ['1', '2', '3', '4', '5']
dict227 = dict(zip(tupl3,l1st))
dict227
{'A': '1', 'B': '2', 'C': '3', 'D': '4', 'E': '5'}
len(dict227)
mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'}
print(mnoz1)
{'двигатель', 'датчик', 'микропроцессор', 'линия связи'}
len(mnoz1) #кол-во элементов
4
'датчик' in mnoz1 #проверка наличия
True
mnoz1.add('реле') #добавление элемента
print(mnoz1)
{'двигатель', 'датчик', 'линия связи', 'микропроцессор', 'реле'}
mnoz1.remove('линия связи') #удаление элемента
print(mnoz1)
{'двигатель', 'датчик', 'микропроцессор', 'реле'}
mnoz1 = {'лев', '1', True, ('тигр', 1, 3)}
mnoz1
{'1', True, 'лев', ('тигр', 1, 3)}
mnoz1.remove(True)
mnoz1
{'1', 'лев', ('тигр', 1, 3)}
mnoz1.add('черный')
mnoz1
{('тигр', 1, 3), 'лев', '1', 'черный'}

49
TEMA2/task.md Обычный файл
Просмотреть файл

@@ -0,0 +1,49 @@
# Общее контрольное задание по теме 2
Филиппова Евгения, А-01-23
## Задание
• Создать переменную с именем familia и со значением - символьной строкой – своей фами-лией в латинской транскрипции.
• Создать переменную со значением, совпадающим с первой буквой из familia.
• Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python.
• Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка.
• Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напишите
инструкцию, позволяющую убедиться, что тип переменной – это tuple.
• Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов.
• Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима».
• Создайте словарь dict_bas, в котором ключами являются русские названия типов перемен-ных, использованных в предыдущих операторах, а значениями – ранее созданные пере-менные, соответствующие этим типам.
## Решение
```py
familia = 'Filippova'
bukva = familia[0]
import keyword
sp_kw = keyword.kwlist
sp_kw.remove('nonlocal')
print(sp_kw)
print(sp_kw.count('nonlocal'))
kort_nam = ('Zhenya', 'Pasha', 'Nik', 'Danya')
print(type(kort_nam))
kort_nam = kort_nam + ('Vanya', 'Dima')
print(kort_nam.count('Dima'))
key = ['строка', 'список', 'кортеж']
value = [familia, sp_kw, kort_nam]
dict_bas = dict(zip(key, value))
print(dict_bas)
```
## Результат!
```py
===================== RESTART: C:\Users\filip\Desktop\python-labs\TEMA2\task.py ====================
['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', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
0
<class 'tuple'>
1
{'строка': 'Filippova', 'список': ['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', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], 'кортеж': ('Zhenya', 'Pasha', 'Nik', 'Danya', 'Vanya', 'Dima')}
```

24
TEMA2/task.py Обычный файл
Просмотреть файл

@@ -0,0 +1,24 @@
a=int('45',8)
print(a)
d={"усиление":23, "запаздывание":12, "постоянная времени":78}
keys_list=list(d.keys())
values_list=list(d.values())
kort=tuple(keys_list+values_list)
print(kort)
b=((1768//24.8)%3)**2.4
print(b)
c=(~(13&27)^14)<<2
print(c)
spis=['колебат']*4
spis1=spis[1]+spis[2]
print('аткол' in spis1)
print(dir(d))
print(d.keys())
print(d.values())
str='Создать объект - символьную строку с текстом данного предложения.'
spis2=str.split(' ')
print(spis2)
spis2[2]=','
print(spis2)
spis2.remove('данного')
print(spis2)

20
TEMA2/task3.md Обычный файл
Просмотреть файл

@@ -0,0 +1,20 @@
Индивидуальное контрольное задание, Вариант 3
Филиппова Евгения А-01-23
3. Пусть созданы два объекта с помощью инструкций:
```py
b1={'d':23,'f':11,'k':45}
b2={'u':6,'v':67}
```
К какому классу относятся эти объекты? Как создать объект того же класса со всеми 5 элементами?
Объекты относятся к классу словарей.
```py
type(b1)
<class 'dict'>
b3=b1.copy()
b3.update(b2)
print(b3)
{'d': 23, 'f': 11, 'k': 45, 'u': 6, 'v': 67}
```