# Отчёт по теме 4. Операция с объектами Выполнил Огарков Илья, А-03-23 ## 1. Начало работы Создание текстового файла `report.md` ## 2. Стандартные функции **2.1. Функция round – округление числа с заданной точностью** ```python round(123.456,1) 123.5 round(123.456,0) 123.0 ``` **2.2. Функция range – создание последовательности целых чисел с заданным шагом или, по умолчанию, с шагом 1.** ```python gg=range(76,123,9);gg range(76, 123, 9) list(gg) [76, 85, 94, 103, 112, 121] list(range(23)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] ``` **2.3. ункция zip – создание общего объекта, элементами которого являются кортежи, составленные из элементов двух или более объектов-последовательностей (zip – застежка-«молния»)** ```python qq = ["Ogarkov", "Butko", "Efimova", "Baranov"] ff=zip(gg,qq);ff tuple(ff) ((76, 'Ogarkov'), (85, 'Butko'), (94, 'Efimova'), (103, 'Baranov')) ``` **2.4. Функция eval – вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки** ```python fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156') коэффициент усиления=4 dan -136.0 ``` **2.5. Похожая на eval функция exec – чтение и выполнение объекта-аргумента функции** ```python exec(input('введите инструкции:')) введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3) gg 221.456 ``` **2.6. Самостоятельно изучите и попробуйте применить функции abs, pow, max, min, sum, divmod, len, map** ```python abs(-7+4) 3 pow(2,3) 8 max(2,3) 3 min(2,3) 2 li_st = [1,2,3,4,5] sum(li_st) 15 divmod(8,3) (2, 2) words = ["apple","orange","limon"] length = map(len, words);length list(length) [5, 6, 5] ``` ## 3. Функции из стандартного модуля math – совокупность разнообразных математических функций ```python import math help(math.factorial) Help on built-in function factorial in module math: factorial(n, /) Find n!. Raise a ValueError if x is negative or non-integral. math.factorial(5) 120 math.sin(30) -0.9880316240928618 math.acos(1) 0.0 math.degrees(120) 6875.493541569878 math.degrees(1) 57.29577951308232 math.radians(180) 3.141592653589793 math.exp(2) 7.38905609893065 math.log(10) 2.302585092994046 math.log(2) 0.6931471805599453 log10(10) math.log10(10) 1.0 math.sqrt(10) 3.1622776601683795 math.ceil(10.2) 11 math.floor(10.2) 10 math.pi 3.141592653589793 ``` ## 4. Функции из модуля cmath – совокупность функций для работы с комплексными числами ```python import cmath dir(cmath) ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau'] cmath.sqrt(1.2-0.5j) (1.118033988749895-0.22360679774997896j) cmath.phase(1-0.5j) -0.4636476090008061 ``` ## 5. Стандартный модуль random – совокупность функций для выполнения операций с псевдослучайными числами и выборками ```python import random help(random.seed) Help on method seed in module random: seed(a=None, version=2) method of random.Random instance Initialize internal state from a seed. The only supported seed types are None, int, float, str, bytes, and bytearray. None or no argument seeds from current time or from an operating system specific randomness source if available. If *a* is an int, all bits are used. For version 2 (the default), all of the bits are used if *a* is a str, bytes, or bytearray. For version 1 (provided for reproducing random sequences from older versions of Python), the algorithm for str and bytes generates a narrower range of seeds. dir(random) ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_index', '_inst', '_isfinite', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate'] random.seed(5) random.random() 0.7417869892607294 random.gauss(170,5) 171.01449055876262 random.gauss(170,5) 175.5048579816218 numbers = [1,3,5,3,8,9] random.choice(numbers) 3 random.shuffle(numbers);numbers [8, 3, 9, 3, 5, 1] random.sample(numbers, 3) [5, 8, 3] random.betavariate(1,100) 0.00014457630861401468 random.gammavariate(1,100) 248.10585250290603 ``` ## 6. Функции из модуля time – работа с календарем и со временем ```python c1=time.time();c1 1759135155.9747162 c2=time.time()-c1 c2 21.171961307525635 dat=time.gmtime();dat time.struct_time(tm_year=2025, tm_mon=9, tm_mday=29, tm_hour=8, tm_min=40, tm_sec=13, tm_wday=0, tm_yday=272, tm_isdst=0) dat.tm_mon 9 dat.tm_mday 29 time.localtime tm=time.localtime();tm time.struct_time(tm_year=2025, tm_mon=9, tm_mday=29, tm_hour=11, tm_min=42, tm_sec=48, tm_wday=0, tm_yday=272, tm_isdst=0) time.ctime() 'Mon Sep 29 11:44:13 2025' time.asctime() 'Mon Sep 29 11:44:25 2025' time.localtime(c1) time.struct_time(tm_year=2025, tm_mon=9, tm_mday=29, tm_hour=11, tm_min=39, tm_sec=15, tm_wday=0, tm_yday=272, tm_isdst=0) ``` ## 7. Графические функции ```python import pylab Matplotlib is building the font cache; this may take a moment. x=list(range(-3,55,4)) t=list(range(15)) pylab.plot(t,x) [] pylab.title('Первый график') Text(0.5, 1.0, 'Первый график') pylab.xlabel('время') Text(0.5, 0, 'время') pylab.ylabel('сигнал') Text(0, 0.5, 'сигнал') pylab.show() X1=[12,6,8,10,7] X2=[5,7,9,11,13] pylab.plot(X1) [] pylab.plot(X2) [] pylab.show() region=['Центр','Урал','Сибирь','Юг'] naselen=[65,12,23,17] pylab.pie(naselen,labels=region) ([, , , ], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')]) pylab.show() pylab.plot(t,x) [] pylab.title('Первый график') Text(0.5, 1.0, 'Первый график') pylab.xlabel('время') Text(0.5, 0, 'время') pylab.ylabel('сигнал') Text(0, 0.5, 'сигнал') pylab.show() pylab.plot(X1) [] pylab.plot(X2) [] pylab.show() region=['Центр','Урал','Сибирь','Юг'] naselen=[65,12,23,17] pylab.pie(naselen,labels=region) ([, , , ], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')]) pylab.show() naselen=[65,12,23,17] pylab.hist(naselen) (array([2., 0., 1., 0., 0., 0., 0., 0., 0., 1.]), array([12. , 17.3, 22.6, 27.9, 33.2, 38.5, 43.8, 49.1, 54.4, 59.7, 65. ]), ) pylab.show() pylab.bar(naselen, 3) pylab.show() ``` ## 8. Статистический модуль statistics ```python import statistics numbers = [1,2,3,4,5,6,7,8,9] statistics.mean(numbers) 5 statistics.median(numbers) 5 statistics.mod(numbers) statistics.mode(numbers) 1 ```