Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

12 KiB

Отчёт по теме 3. Операция с объектами

Выполнил Огарков Илья, А-03-23

1. Начало работы

Создание текстового файла report.md

2. Преобразование простых базовых типов объектов

2.1 Преобразование в логический тип с помощью функции bool(<Объект>).

logiz1=bool(56) logiz2=bool(0) logiz3=bool("Beta") logiz4=bool("") logiz1,logiz2,logiz3,logiz4 (True, False, True, False)

2.2 Преобразование в целое десятичное число объекта с заданной системой счисления

tt1=int(198.6) tt1 198 tt2=int("-76") tt2 -76 tt3=int("B",16);tt3 11 tt4=int("71",8);tt4 57 tt5=int("98.76");tt5

Преобразование целых чисел или строк символов в вещественное число

flt1=float(789);flt1 789.0 flt2=float(-6.78e2) flt2 -678.0 flt3=float("Infinity");flt3 inf flt4=float("-inf");flt4 -inf

2.3 Преобразование десятичных чисел в другие системы счисления

hh=123 dv1=bin(hh);dv1 '0b1111011' vos1=oct(hh);vos1 '0o173' shs1=hex(hh);shs1 '0x7b' int(dv1,2) 123 int(vos1,8) 123 int(shs1,16) 123

3. Изучение преобразования более сложных базовых типов объектов

3.1 Преобразование в строку символов с помощью функции str

strk1=str(23.6) strk2=str(logiz3);strk2 'True' strk3=str(["A","B","C"]);strk3 "['A', 'B', 'C']" strk4=str(("A","B","C"));strk4 "('A', 'B', 'C')" strk5=str({"A":1,"B":2,"C":9});strk5 "{'A': 1, 'B': 2, 'C': 9}"

3.2. Преобразование элементов объекта в список с помощью функции list

spis1=list("Строка символов");spis1 ['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в'] spis2=list((124,236,-15,908));spis2 [124, 236, -15, 908] spis3=list({"A":1,"B":2,"C":9});spis3 ['A', 'B', 'C'] spis3_values = list({"A":1,"B":2,"C":9}.values());spis3_values [1, 2, 9]

3.3. Преобразование элементов объектов в кортеж с помощью функции tuple

kort7=tuple('Строка символов');kort7 ('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в') kort8=tuple(spis2);kort8 (124, 236, -15, 908) kort9=tuple({"A":1,"B":2,"C":9});kort9 ('A', 'B', 'C')

3.4. Удаление объектов

del strk5, kort8 strk5;kort8 Traceback (most recent call last): File "<pyshell#43>", line 1, in strk5;kort8 NameError: name 'strk5' is not defined. Did you mean: 'strk1'? familiya = "Ogarkov IA" familiya = list(familiya);familiya ['O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A'] familiya = tuple(familiya);familiya ('O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A') familiya = str(familiya);familiya "('O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A')"

4. Арифметические операции

4.1. Сложение и вычитание (+ и -)

12+7+90 109 5.689e-1 - 0.456 0.11289999999999994 23.6+54 77.6 14-56.7+89 46.3

4.2. Умножение (*)

-6.7*12 -80.4

4.3. Деление

-234.5/6 -39.083333333333336 a=178/45;a 3.9555555555555557

4.4. Деление с округлением вниз

b = 178//45 b 3 c=-24.6//12.1;c -3.0

4.5. Получение остатка от деления (%)

148%33 16 12.6%3.8 1.2000000000000002

4.6. Возведение в степень (**)

143 2744 e=2.73.6;e 35.719843790663525

5. Операции с двоичными представлениями целых чисел

5.1. Двоичная инверсия (~)

dv1=9 dv2=~dv1;dv2 -10 bin(dv2);bin(dv1) '-0b1010' '0b1001'

5.2. Двоичное «И» (&)

bin(7&9) '0b1' bin(7&8) '0b0'

5.3. Двоичное «ИЛИ» (|)

bin(7|9 ) '0b1111' bin(7|8) '0b1111' bin(14|5) '0b1111'

5.4. Двоичное «исключающее ИЛИ»(^)

bin(14^5) '0b1011' 14^5 11

5.5. Сдвиг двоичного представления на заданное число разрядов влево (<<) или вправо (>>) с дополнением нулями, соответственно справа или слева.

h=14 g=h<<2 g1=h>>1 g2=h>>2 bin(g2) '0b11' bin(h) '0b1110' bin(g) '0b111000' bin(g1) '0b111'

Число A: 1011001 (7 знаков) = 89 в десятичной

a = 0b1011001

Число B: 11011010 (8 знаков) = 218 в десятичной

b = 0b11011010

print(f"a = {a} (binary: {bin(a)})") print(f"b = {b} (binary: {bin(b)})")

6. Операции при работе с последовательностями (строками, списками, кортежами)

6.1. Объединение последовательностей (конкатенация)(+)

'Система '+'регулирования' 'Система регулирования' ['abc','de','fg']+['hi','jkl'] ['abc', 'de', 'fg', 'hi', 'jkl'] ('abc','de','fg')+('hi','jkl') ('abc', 'de', 'fg', 'hi', 'jkl')

6.2. Повторение (*)

'ля-'*5 'ля-ля-ля-ля-ля-' ['ку','-']*3 ['ку', '-', 'ку', '-', 'ку', '-'] ('кис','-')*4 ('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-') signal1=[0]*3+[1]*99 signal1 [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] signal2=(0,)*3+(1,)*5+(0,)*7 signal2 (0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0)

6.3. Проверка наличия заданного элемента в последовательности (in)

stroka='Система автоматического управления' 'автомат' in stroka True 'ку' in ['ку','-']*3 True 'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl') False

6.4. Подстановка значений в строку с помощью оператора «%»

stroka='Температура = %g %s %g' stroka % (16,' меньше ',25); stroka 'Температура = 16 меньше 25' stroka='Температура = %(zn1)g %(sravn)s %(zn2)g' stroka % {'zn1':16,'sravn':' меньше ','zn2':25} 'Температура = 16 меньше 25'

7. Оператор присваивания

7.1. Обычное присваивание значения переменной (=)

zz=12 zz 12

7.2. Увеличение значения переменной на заданную величину (+=) или уменьшение (-=)

zz=12 zz 12 zz+=5;zz 17 zz-=3;zz 14 stroka='Система' stroka+=' регулирования';stroka 'Система регулирования'

7.3. Умножение текущего значения переменной на заданную величину (*=) или деление (/=)

zz/=2;zz 7.0 zz*=5;zz 35.0

7.5. Множественное присваивание

w;v 10 10 n1,n2,n3=(11,-3,'all');n1;n2;n3 11 -3 'all' n1,n2,n3="Str" n1;n2;n3 'S' 't' 'r' n1,n2,n3=[1,2,3];n1;n2;n3 1 2 3 n1,n2,n3={1:"one",2:"two",3:"three"};n1;n2;n3 1 2 3 n1,n2,n3 = (1,2,3);n1;n2;n3 1 2 3

8. Логические операции – при создании логических выражений, дающих в результате вычисления значения True или False

8.1. Операции сравнение

w>v False

8.2. Проверка наличия заданного элемента в последовательности или во множестве, а также проверка наличия ключа в словаре (in)

mnoz1={'pen','book','pen','iPhone','table','book'} 'book' in mnoz1 True 'cap' in mnoz1 False dic1={'Saratov':145, 'Orel':56, 'Vologda':45} 'Vologda' in dic1 True 'Pskov' in dic1 False 56 in dic1.values() True dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']} 'UII' in dct1['Depart'] True dct1['Depart'][1] == 'MM' False

8.3. Создание больших логических выражений с использованием соединительных слов: логическое «И» (and), логическое «ИЛИ» (or), логическое «НЕ» (not)

a=17 b=-6 (a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1) True

8.4. Проверка ссылок переменных на один и тот же объект (is)

w=v=10 w is v True w1=['A','B'] v1=['A','B'] w1 is v1 False w1,v1=['A','B'] ;w1 is v1 False

9. Операции с объектами, выполняемые с помощью методов

stroka='Микропроцессорная система управления' dir(stroka) ['add', 'class', 'contains', 'delattr', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'getnewargs', 'getstate', 'gt', 'hash', 'init', 'init_subclass', 'iter', 'le', 'len', 'lt', 'mod', 'mul', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'rmod', 'rmul', 'setattr', 'sizeof', 'str', 'subclasshook', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

9.1. Методы для работы со строками

stroka.find('пр') 5 stroka.count("с") 4 stroka.replace(' у',' автоматического у') 'Микропроцессорная система автоматического управления' spis22=stroka.split(' ') spis22 ['Микропроцессорная', 'система', 'управления'] stroka.upper() 'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ' stroka3=" ".join(spis22) stroka3 'Микропроцессорная система управления' stroka3.partition("с") ('Микропроце', 'с', 'сорная система управления') stroka3.rpartition("с") ('Микропроцессорная си', 'с', 'тема управления') strk1='Момент времени {}, значение = {}' strk1 'Момент времени {}, значение = {}' strk1.format(1,89.7) 'Момент времени 1, значение = 89.7' strk2='Момент времени {1}, значение = {0}:{2}' strk2.format(36.7,2,'норма!') 'Момент времени 2, значение = 36.7:норма!' strk3='Момент времени {num}, значение = {znch}' strk3.format(znch=89.7,num=2) 'Момент времени 2, значение = 89.7'

9.2. Методы для работы со списками

spsk = [1,2,3,4,5] spsk.pop(2) 3 spsk [1, 2, 4, 5] spsk.append('c') spsk [1, 2, 4, 5, 'c'] spsk.insert(2,'a') spsk [1, 2, 'a', 4, 5, 'c'] spsk.count('a') 1 dir(spsk) ['add', 'class', 'class_getitem', 'contains', 'delattr', 'delitem', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'getstate', 'gt', 'hash', 'iadd', 'imul', 'init', 'init_subclass', 'iter', 'le', 'len', 'lt', 'mul', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'reversed', 'rmul', 'setattr', 'setitem', 'sizeof', 'str', 'subclasshook', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']