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

15 KiB

Отчет по теме 4

Криви Анастасия, А-02-23

1 Запуск IDLE

Встроенные функции – это готовые к использованию функции, реализующие различные полезные операции, необходимость в которых часто возникает при решении прикладных задач. Часть из них имеется в виде стандартных функций – то есть они не требуют дополнительных усилий (готовы к употреблению сразу после запуска среды Python и относятся к классу 'builtin_function_or_method').

2 Стандартные функции

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']

2.1 Функция round

Округление числа с заданной точностью. Cправка по назначению этой функции:

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.

Использование функции на примерах

round(123.456,1)
    123.5
round(123.456,0)
    123.0
type(round(123.456,0)) #определение типа
    <class 'float'>
type(round(123.456,1))
    <class 'float'>
round(123.456)
    123
type(round(123.456))
    <class 'int'>

2.2 Функция range

Создание последовательности целых чисел с заданным шагом или, по умолчанию, с шагом 1

gg=range(76,123,9)
gg
range(76, 123, 9) #«итерируемый объект» класса range. Чтобы увидеть получившуюся последовательность чисел, его надо преобразовать, например, в список, обычным способом
list(gg)
[76, 85, 94, 103, 112, 121]

где 76 - левая граница, 123 - правая граница, а 9 - шаг

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]

по умолчанию отсчет от нуля с шагом 1 жо заданного 23(не включительно!)

2.3 Функция zip

Создание общего объекта, элементами которого являются кортежи, составленные из элементов двух или более объектов-последовательностей (zip – застежка-«молния»)

Длина результирующего объекта равна длине самого короткого объекта из двух аргументов функции!

qq = ['Криви','Заленкина', 'Капитонов', 'Киреев']; type(qq)
<class 'list'>
ff=zip(gg,qq)
ff
<zip object at 0x00000151590F1740>
tuple(ff)
((76, 'Криви'), (85, 'Заленкина'), (94, 'Капитонов'), (103, 'Киреев'))
ff[1] # нельзя обратиться по индексу
    Traceback (most recent call last):
      File "<pyshell#5>", line 1, in <module>
        ff[1]
    TypeError: 'zip' object is not subscriptable

2.4 Функция eval

Вычисление значения выражения, корректно записанного на языке Python и представленного в виде символьной строки

fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156')
коэффициент усиления=1
dan
-151.0
type(dan)
<class 'float'>

2.5 Функция 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

abs(-10) # Модуль числа
10
pow(2, 2) # Возведение числа в степень
4
max(1426, 54312, 335, 140)
54312
min(0, 346, 3531, 1450)
0
sum([1, 12, 0, 6])
19
divmod(10,2) # Кортеж с двумя элементами: результатами целочисленного деления и остатком
(5, 0) 
len([261, 25426, 23])
3
list(map(abs,[-12038, -231974]))
[12038, 231974]

3 Функции из стандартного модуля math.

Cовокупность разнообразных математических функций

import math
dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fma', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'sumprod', 'tan', 'tanh', 'tau', 'trunc', 'ulp']

help(math.factorial)
Help on built-in function factorial in module math:

factorial(n, /)
    Find n!.
math.factorial(5)
120
math.log10(1)
0.0
math.acos(1)
0.0
math.degrees(100) #из радиан в градусы
5729.5779513082325
math.radians(1029) #из градусов в радианы
17.959438003021653
math.log(0.321846)
-1.1336821087105013
math.sqrt(90)
9.486832980505138
math.ceil(10.1) #округление вверх
11
math.floor(10.9) #округление вниз
10

Вычисление значения функции: I

math.sin((2*math.pi)/7 + math.exp(0.23))
0.8334902641414562

4 Функции из модуля cmath

Cовокупность функций для работы с комплексными числами.

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

Cовокупность функций для выполнения операций с псевдослу-чайными числами и выборками

import random
dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_fabs', '_floor', '_index', '_inst', '_isfinite', '_lgamma', '_log', '_log2', '_os', '_parse_args', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', 'betavariate', 'binomialvariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'main', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
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.

random.seed() #функция, задающая случайное начальное состояние для псевдослучайных чисел
random.random() #равномерно распределенное случайное число
0.07336031762583761
random.uniform(1,2) #равномерно распределенное случайное число
1.137488979303296
random.randint(1,10) #случайное целое число
9
random.gauss() #нормально распределенное случайное число
0.014238556699878042
help(random.choice)
Help on method choice in module random:

choice(seq) method of random.Random instance
    Choose a random element from a non-empty sequence.

random.choice([10,104,2,23]) #случайный выбор элемента из совокупности
10
s = ['12','212','kjd','134nh']
random.shuffle(s) #перемешивание элементов списка
s
['kjd', '212', '12', '134nh'] 
random.sample(s,2) #получение выборки заданной размерности из совокупности
['134nh', '12']
random.betavariate(1, 232) #cлучайное число с бета-распределением
0.003122288899067793
random.gammavariate(1, 21)  #cлучайное число с гамма-распределением
30.78691787356758

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

s=[random.random(), random.gauss(), random.betavariate(1,10), random.gammavariate(1,10)]; s
[0.10166127692065208, -0.9624978096753845, 0.00956693409670233, 3.1161536544662676]

6 Функции из модуля time

Работа с календарем и со временем

c1=time.time() #время в секундах, прошедшее с начала эпохи, за которое обычно принимается 1.01.1970г
c1
1760880089.5032163
c2=time.time()-c1 #временной интервал в секундах, со времени ввода предыдущей инструкции
c2
15.655876636505127

с помощью этой функции можно измерять временные промежутки в секундах

Функция, возвращающая объект класса struct_time, содержащий полную информацию о текущем времени: год (tm_year), месяц (tm_mon), день (tm_mday).

dat=time.gmtime()
dat
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=19, tm_hour=14, tm_min=9, tm_sec=24, tm_wday=6, tm_yday=292, tm_isdst=0) #Эта функция возвращает, так называемое, «Всемирное координированное время» (UTC). Москов-ское время MSK опережает UTC на 3 часа

dat.tm_mon
10
dat.tm_hour
14
dat.tm_year
2025

dat=time.localtime(); dat  #получение «местного» времени
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=19, tm_hour=17, tm_min=13, tm_sec=35, tm_wday=6, tm_yday=292, tm_isdst=0)

l=time.localtime()
time.asctime(l)
'Sun Oct 19 17:20:49 2025' #преобразование представления времени из кортежа в строку
time.ctime() #преобразование времени в секундах, прошедшего с начала эпохи, в строку
'Sun Oct 19 17:15:49 2025'
t=time.asctime();type(t)
<class 'str'>
t1=time.ctime(); type(t1)
<class 'str'>
time.sleep(3) #прерывание работы программы на заданное время
time.mktime(l) #из кортежа в секунды с начала эпохи
1760883649.0
time.localtime(c1) #обратное преобразование из секунд в местное время осуществляется той же функцией
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=19, tm_hour=16, tm_min=21, tm_sec=29, tm_wday=6, tm_yday=292, tm_isdst=0)

7 Графические функции

В развернутой версии Python должны быть установлены модули пакета matplotlib, в состав которого входит модуль pylab, содержащий ряд полезных вычислительных функций и графических возможностей. Импорт модуля инструкции