Импорт модулей в python

Оглавление

Python Math Numeric Representation Functions

The below code represents some of the numeric functions of the math module.

Example:

import math

input = 12.35
print('The Floor value of the given input: ' + str(math.floor(input)))

print('The Ceil value of the given input: ' + str(math.ceil(input)))

a = 20
b = -10

print('The value of a after copying the sign from b: ' + str(math.copysign(a, b)))

s1 = -25
s2 = 25

print('Absolute value of s1 and s2: ' + str(math.fabs(s1)) + ', ' + str(math.fabs(s2)))

my_input = 
print('Sum of the elements of the list: ' + str(math.fsum(my_input)))

p = float('nan')
if math.isnan(p):
    print('It is not a number')
q = float('inf')
y = 10
if math.isinf(q):
    print('It is Infinity')
print(math.isfinite(q)) #q is not a finite number
print(math.isfinite(y)) #y is a finite number

Output:

Output-Numeric Functions

Division

Programming languages often differ in how they perform the division of
numbers. You need to be aware of these issues to avoid being, unpleasantly,
surprised afterwards. Let’s write a simple program:

We divide several times in the code. Mathematically, it’s
. Nonetheless, the results will not be the same in all cases.
Can you guess what we’ll get in each case? Go ahead, give it a try

The program output will be the following:

Console application
2.5
2.5
2.5
2.5
2
2.0
2.0
2.0

We see the result of division using the operator is always
decimal (). It doesn’t really matter what the data type of the
variable we’re assigning the result to is. If we wanted to perform whole-number
division, we’d have to use the operator. As you can see, it
returns decimal numbers for decimal inputs, but the value is always a whole
number ().

The remainder after division

In our applications, we often need the remainder after integer division (i.e.
modulo). In our example , the integer result is
and modulo is (what’s left over). Modulo is often
used to determine whether a number is even (remainder of division by
is ). You would use it, for example, to draw a
checkerboard and fill in the fields based on whether they are even or odd,
calculate the deviance of your position in a square grid, and so on.

In Python, as in C-like languages in general, modulo is a percent sign, i.e.
:

Well, that’s all I’ve got for today. In the next lesson, Solved tasks for Python lessons 10-12, we’ll learn
to declare custom functions and to decompose our programs into multiple logical
parts.

In the following exercise, Solved tasks for Python lessons 10-12, we’re gonna practice our knowledge from previous lessons.

Основы использования оператора import и переменной sys.path

В соответствии с документацией Python, оператор ищет корректный модуль или пакет для импорта в соответствии со следующими правилами.

Технически документация Python является неполной

На самом деле интерпретатор ищет не только файл (то есть, модуль) с именем , также он будет искать папку (то есть, пакет) с именем .Обратите внимание, что интерпретатор Python сначала ищет список встроенных модулей, то есть модулей, которые интегрированы непосредственно в интерпретатор Python. Состав списка встроенных модулей зависит от типа установки и может быть найден в файлах (для Python версии и )

Обычно встроенные модули, которые входят с состав начальной установки, включают в себя (всегда устанавливается), , и и другие.

В отличие от встроенных модулей (модулей стандартной библиотеки), пути к которым помещаются первыми в списке для поиска при импорте остальные модули в стандартной библиотеке Python появляются после пути каталога текущего скрипта. Это приводит к запутанному поведению: становится возможно «заменить» некоторые, но не все модули в стандартной библиотеке Python.Например, на моем компьютере (Windows 10, Python 3.6) модуль является встроенным модулем, тогда как модуль нет. Таким образом, в будет импортировать модуль из стандартной библиотеки, а не мой собственный файл , находящийся в тот же каталоге.А оператор в будет импортировать мой файл , а не модуль из стандартной библиотеки.

Кроме того, оператор чувствителен к регистру символов в названии импортируемого файла. — это не то же самое, что .

Функция (Python и ) может использоваться для получения списка всех импортируемых модулей по заданному пути:

import pkgutil
# установите значение переменной search_path равным None, чтобы увидеть все модули, импортируемые из sys.path
search_path = '.' 
all_modules =  for x in pkgutil.iter_modules(path=search_path)]
print(all_modules)

cmath vs math

A complex number is a combination of a real number and an imaginary number. It has the formula of a + bi, where a is the real number and bi is the imaginary number. Real and imaginary numbers can be explained as follows:

  • A real number is literally any number you can think of.
  • An imaginary number is a number that gives a negative result when squared.

A real number can be any number. For example, 12, 4.3, -19.0 are all real numbers. Imaginary numbers are shown as i. The following image shows an example of a complex number:

In the example above, 7 is the real number and 3i is the imaginary number. Complex numbers are mostly used in geometry, calculus, scientific calculations, and especially in electronics.

The functions of the Python module aren’t equipped to handle complex numbers. However, Python provides a different module that can specifically deal with complex numbers, the module. The Python module is complemented by the module, which implements many of the same functions but for complex numbers.

You can import the module as follows:

>>>

Since the module is also packaged with Python, you can import it the same way you imported the module. Before you work with the module, you have to know how to define a complex number. You can define a complex number as follows:

>>>

As you can see, you can determine that a number is indeed complex by using .

Note: In mathematics, the imaginary unit is usually denoted i. In some fields, it’s more customary to use j for the same thing. In Python, you use to denote imaginary numbers.

Python also provides a special built-in function called that lets you create complex numbers. You can use as follows:

>>>

You can use either method to create complex numbers. You can also use the module to calculate mathematical functions for complex numbers as follows:

>>>

Гиперболические функции

c = 2 + 2j
print('inverse hyperbolic sine =', cmath.asinh(c))
print('inverse hyperbolic cosine =', cmath.acosh(c))
print('inverse hyperbolic tangent =', cmath.atanh(c))

print('hyperbolic sine =', cmath.sinh(c))
print('hyperbolic cosine =', cmath.cosh(c))
print('hyperbolic tangent =', cmath.tanh(c))

Вывод:

inverse hyperbolic sine = (1.7343245214879666+0.7542491446980459j)
inverse hyperbolic cosine = (1.7343245214879666+0.8165471820968505j)
inverse hyperbolic tangent = (0.2388778612568591+1.311223269671635j)
hyperbolic sine = (-1.5093064853236156+3.4209548611170133j)
hyperbolic cosine = (-1.5656258353157435+3.2978948363112366j)
hyperbolic tangent = (1.0238355945704727-0.028392952868232294j)

Банковское округление в round()

Очень много идёт дискуссий (pythonworld, stackoverflow, форум linux.org.ru и др.) на тему, какое же всё-таки округление в python арифметическое или банковское (по другому ещё называют Гауссово округление)?

Оказывается в python 2 используется арифметическое округление, а в python 3 — банковское! Спасибо , по какому правилу идёт округление в разных python, благодаря подробному примеру и указанию на авторитетный источник.

Банковское (или бухгалтерское) округление позволяет уменьшить погрешности при работе с большим массивом данных. Обычное (или арифметическое) округление даёт нарастающую погрешность из-за того, что для округления в меньшую сторону на конце должны быть цифры: 1, 2, 3, 4 — всего 4 цифр, а в большую: 5, 6, 7, 8, 9 — всего 5 цифр. Неравное количество цифр при большом количестве вычислений и вызывают нарастающую погрешность.
При банковском округлении осуществляется округление к ближайшему чётному, то есть , . Таким образом вероятность того, что перед пятёркой окажется чётное или нечётное число для большинства случаев (к примеру, бухгалтерские расчёты) примерно одинаковая, поэтому такой принцип уменьшает погрешность.

Здесь вы можете увидеть подробности округления в официальных источниках документации python:

  • Для python 2:
  • Для python 3:

«if two multiples are equally close, rounding is done toward the even choice» (перев.: Округление делается до ближайшего четного) — это и есть банковское округление.

Но напоследок приведу пример, наглядно демонстрирующий разницу работы функции round() в различных версиях python и с учётом неточности представления типа :

Пример round() в python 2 round() в python 3 банковское округление
round(2.05, 1) 2.0 2.0 2.0
round(2.15, 1) 2.1 2.1 2.2
round(2.25, 1) 2.3 2.2 2.2
round(2.35, 1) 2.4 2.4 2.4
round(2.45, 1) 2.5 2.5 2.4
round(2.55, 1) 2.5 2.5 2.6
round(2.65, 1) 2.6 2.6 2.6
round(2.75, 1) 2.8 2.8 2.8
round(2.85, 1) 2.9 2.9 2.8
round(2.95, 1) 3.0 3.0 3.0

Жирным выделил отличающиеся значения выполнения функции round().

Казалось бы в примере с результат для python 3 должен быть , потому как python 3 работает по банковскому округлению, но правильное значение , так как значение в машинном представлении не точное и выглядит для, к примеру, 60 знаков после запятой следующим образом:

>>> '%0.60f' % 2.15
'2.149999999999999911182158029987476766109466552734375000000000'

Отсюда видно, что по правилам обычного арифметического округления получаем .

Но для примера 60 знаков после запятой выглядят следующим образом:

>>> '%0.60f' % 2.25
'2.250000000000000000000000000000000000000000000000000000000000'

Вот здесь-то и возникает спорный момент по способу округления. Так для python 2 получаем  — арифметическое округление.

А для python 3 получаем , что соответствует правилам банковского округления.

Материалы по теме:

Округление (Википедия)

Автор статьи

Права на использование материала, расположенного на этой странице https://vivazzi.pro/it/round-python/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра в теге . Использование:

Автор статьи: Мальцев АртёмСсылка на статью: <a href="https://vivazzi.pro/it/round-python/">https://vivazzi.pro/it/round-python/</a>

Предыдущая статьяПример обработки formset

Следующая статьяsql перенос данных из одной таблицы в другую

Вам нужно саморазвиваться или вы хотите зарабатывать деньги?

Или вы ищите хорошие IT сервисы или книги? Сохраните свое время и взгляните на мою подборку рекомендаций, которыми постоянно пользуюсь.

Посмотреть рекомендации

Ознакомьтесь с реально работающими финансовыми инструментами

Wall Street Cash — Торговый робот на рынке Forex

Ознакомьтесь с роботом (советником), который автоматизирует торговлю на валютном рынке Forex без необходимости самому торговать. Преимущество робота в том, что вы сами контролируете свой счёт, а робот лишь по оптимизированным алгоритмам заключает сделки на куплю и продажу валют.

Подробнее о Wall Street Cash

Viva TM — Доверительное управление с использованием робота WSC

Доверительное управление Viva TM — это разработанный мной сервис по управлению вашими денежными средствами и заработку на рынке Форекс с использованием торгового робота Wall Street Cash.
Возможность использовать моё доверительное управление подходит тем, кто не хочет или не может самостоятельно настроить робота.

Подробнее о Viva TM

Математические функции и числовые методы

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

  • , для округления чисел до определённого количества десятичных знаков
  • , для получения абсолютного значения числа
  • , для возведения числа в степень

Вы также узнаете о методе, который можно использовать с числами с плавающей запятой, чтобы проверить, имеют ли они целочисленное значение.

Круглые числа с round()

Вы можете использовать для округления числа до ближайшего целого:

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

Число 3,14159 округляется до трех десятичных знаков, чтобы получить 3,142, а число 2,71828 округляется до двух десятичных знаков, чтобы получить 2,72.

Второй аргумент должен быть целым числом. Если это не так, Python вызывает :

Иногда не дает правильного ответа:

2.675 – это ничья, потому что она находится ровно посередине между числами 2.67 и 2.68. Поскольку Python округляет до ближайшего четного числа, вы ожидаете, что round (2,675, 2) вернет 2,68, но вместо этого он вернет 2,67. Эта ошибка является результатом ошибки представления с плавающей запятой, а не ошибки в .

Работа с числами с плавающей запятой может вызывать разочарование, но это разочарование не характерно для Python. Все языки, реализующие стандарт IEEE с плавающей запятой, имеют одинаковые проблемы, включая C / C ++, Java и JavaScript.

Однако в большинстве случаев небольшие ошибки, возникающие при работе с числами с плавающей запятой, незначительны, а результаты очень полезны.

Найдите абсолютное значение с помощью abs()

Абсолютное значение числа равно , если положительно, и , если отрицательно. Например, абсолютное значение 3 равно 3, а абсолютное значение -5 равно 5.

Чтобы получить абсолютное значение числа в Python, вы используйте :

всегда возвращает положительное число того же типа, что и его аргумент. То есть абсолютное значение целого числа всегда является положительным целым числом, а абсолютное значение числа с плавающей запятой всегда является положительным числом с плавающей запятой.

Возвести в степень с помощью pow()

Ранее вы узнали, как возвести число в степень с помощью оператора . Вы также можете использовать для достижения того же результата.

принимает два аргумента. Первый аргумент – это основание или число, которое нужно возвести в степень, а второй аргумент – это показатель степени или степень, до которой число должно быть возведено в степень.

Например, в следующем примере функция возводит 2 в степень 3:

Как и в случае , показатель степени в может быть отрицательным:

Итак, в чем разница между и ?

Функция принимает необязательный третий аргумент, который вычисляет первое число, возведенное в степень второго числа, а затем берет модуль по отношению к третьему числу. Другими словами, эквивалентно .

Вот пример, в котором x = 2, y = 3 и z = 2:

Сначала 2 возводится в степень 3, чтобы получить 8. Затем вычисляется 8 % 2, что равно 0, потому что 2 делит 8 без остатка.

Проверка, является ли float целым числом

Возможно, вы знакомы со строковыми методами, такими как , и Целые числа и числа с плавающей запятой также имеют методы.

Числовые методы используются не очень часто, но есть один, который может быть полезен. У чисел с плавающей запятой есть метод , который возвращает True, если число является целым, то есть не имеет дробной части, а в противном случае возвращает False:

Одно из применений – это проверка пользовательского ввода. Например, если вы пишете приложение для онлайн-заказа пиццерии, вам нужно проверить, является ли количество пиццы, вводимых клиентом, целым числом.

Функции , и являются встроенными, то есть вам не нужно ничего импортировать, чтобы использовать их. Но эти три функции лишь мельком охватывают все функции, доступные для работы с числами в Python.

Для чего нужен модуль Decimal?

Некоторые пользователи задаются вопросом, зачем нам нужен модуль для выполнения простейшей арифметики с десятичными числами, когда мы вполне можем сделать то же самое с помощью чисел с плавающей точкой ?

Перед тем, как мы ответим на данный вопрос, мы хотим, чтобы вы сами посчитали в Python, какой результат будет в данном примере: 0.1+0.2? Вы будете удивлены, когда узнаете, что правильный ответ – это не 0,3, а 0,30000000000000004.

Чтобы понять, почему в расчетах возникла ошибка, попробуйте представить 1/3 в десятичной форме. Тогда вы заметите, что число на самом деле не заканчивается в базе 10. Так как все числа должны быть каким-то образом представлены, при их сохранении в консоли делается несколько приближений, что и приводит к ошибкам.

Cпециально для читателей-гуманитариев, у нас есть объяснение принципов работы модулей Питона: «Она на долю секунды отвела взгляд» и «Она отвела взгляд на короткое время» — чувствуете разницу?

Чтобы получить точные результаты, подобные тем, к которым мы привыкли при выполнении расчетов вручную, нам нужно что-то, что поддерживает быструю, точно округленную, десятичную арифметику с плавающей запятой, и модуль Decimal отлично справляется с этой задачей. Теперь, когда мы разобрались с теорией, переходим к принципам работы десятичного модуля.

Использование объектов из импортированного модуля или пакета

Существует четыре различных вида синтаксиса для записи операторов импорта.

Пусть любое имя после ключевого слова .

  • если — это имя модуля или пакета, то для использования объектов, определенных в , вам нужно написать .
  • если является именем переменной, его можно использовать непосредственно напрямую.
  • если является именем функции, то его можно вызвать с помощью инструкции .

Необязательно, но после любого оператора может быть добавлена инструкция вида , например, . Эта инструкция переименовывает в в пределах файла скрипта

Обратите внимание, что имя далее не действительно и его использовать не имеет смысла. Например

Аргументом при ключевом слове может быть одно имя или список из нескольких имен. Каждое из этих имен может быть также переименовано с помощью ключевого слова . Например, следующие инструкции импорта в файле в будут работать правильно: , .

Рассмотрим следующий пример: в файле необходимо импортировать функцию из файла .

Решение №1:

from packA.subA.sa1 import helloWorld

затем мы можем вызывать функцию непосредственно по имени:

a = helloWorld()

Решение №2:

# следующие две строки кода эквивалентны
from packA.subA import sa1
import packA.subA.sa1 as sa1

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

x = sa1.helloWorld()

Иногда это решение предпочтительнее Решения №1 для того чтобы сделать явным вызов функции из модуля .

Решение №3:

import packA.subA.sa1

Далее необходимо использовать полный путь:

x = packA.subA.sa1.helloWorld()

Использование dir() для проверки содержимого импортированного модуля

После импорта модуля, используйте функцию для того чтобы получить список доступных имен модуля. Например, предположим, что вы импортируете . Если в определена функция , то инструкция в числе прочих выведет имя .

>>> from packA.subA import sa1
>>> dir(sa1)

Импорт пакетов

Импорт пакета концептуально эквивалентен импорту файла из папки пакета в качестве модуля. И действительно это так. Вот как Python рассматривает импортируемый пакет:

>>> import packA
>>> packA
<module 'packA' from 'packA\__init__.py'>

Скриптам, импортирующим пакеты, доступны лишь те объекты, которые были объявлены в файле пакета . Например, так как каталог не содержит файла , то вызов инструкции в Python 3.3+ будет мало полезен, поскольку никакие объекты при импорте пакета не будут доступны. Последующий вызов завершится неудачей, поскольку объект не будет импортирован.

Scikit-learn в Python

Машинное обучение является важным математическим аспектом науки о данных. Используя различные инструменты машинного обучения, вы можете легко классифицировать данные и прогнозировать результаты. Для этой цели Scikit-learn предлагает различные функции, упрощающие методы классификации, регрессии и кластеризации.

Python

from sklearn import linear_model

regress = linear_model.LinearRegression()

regress.fit(,,], )
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

print(regress.coef_) # Результат: array()

1
2
3
4
5
6
7
8
9

fromsklearn importlinear_model

regress=linear_model.LinearRegression()

regress.fit(,,1,1,2,2,,1,2)

LinearRegression(copy_X=True,fit_intercept=True,n_jobs=None,normalize=False)

print(regress.coef_)# Результат: array()

Заключение

В данной статье мы рассмотрели важные математические библиотеки Python. Были рассмотрены NumPy, SciPy, statsmodels, а также scikit-learn. В Python есть и другие математические библиотеки, многие находятся в процессе разработки. Надеемся, что определенные моменты руководства вам пригодятся в будущем.

Модули

Система модулей позволяет вам логически организовать ваш код на Python. Группирование кода в модули значительно облегчает процесс написания и понимания программы.
Говоря простым языком, модуль в Python это просто файл, содержащий код на Python. Каждый модуль в Python может содержать переменные, объявления классов и функций.
Кроме того, в модуле может находиться исполняемый код.

Вы можете использовать любой питоновский файл как модуль в другом файле, выполнив в нем команду . Команда в Python обладает
следующим синтаксисом:

import math
# Используем функцию sqrt из модуля math
print (math.sqrt(9))
# Печатаем значение переменной pi, определенной в math
print (math.pi)

Важно знать, что модуль загружается лишь однажды, независимо от того, сколько раз он был импортирован. Это препятствует цикличному выполнению содержимого модуля

Команда позволяет вам импортировать не весь модуль целиком, а только определенное его содержимое. Например:


# Импортируем из модуля math функцию sqrt
from math import sqrt
# Выводим результат выполнения функции sqrt.
# Обратите внимание, что нам больше незачем указывать имя модуля
print (sqrt(144))
# Но мы уже не можем получить из модуля то, что не импортировали
print (pi) # Выдаст ошибку

Выражение не импортирует весь модуль, а только предоставляет доступ к конкретным объектам, которые мы указали.

В Python так же возможно импортировать всё (переменные, функции, классы) за раз из модуля, для этого используется конструкция . Например:

from math import *
 
# Теперь у нас есть доступ ко всем функция и переменным, определенным в модуле math
 
print (sqrt(121))
print (pi)
print (e)

Однако это конструкцию следует использовать с осторожностью, поскольку при импортировании нескольких модулей можно запутаться в своем собственном коде

Библиотека SciPy в Python

Библиотека math предоставляется Python научные инструменты. В ней есть различные модели для математической оптимизации, линейной алгебры, Преобразования Фурье и так далее. Модуль numpy предоставляет базовую структуру данных массива библиотеке SciPy.

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

Python

from scipy import linalg

import numpy as np
mat1 = np.array(,]) #DataFlair
linalg.det(mat1) # Результат: -2.0

1
2
3
4
5
6

fromscipy importlinalg

importnumpy asnp

mat1=np.array(1,2,3,4)#DataFlair

linalg.det(mat1)# Результат: -2.0

Getting to Know the Python math Module

The Python module is an important feature designed to deal with mathematical operations. It comes packaged with the standard Python release and has been there from the beginning. Most of the module’s functions are thin wrappers around the C platform’s mathematical functions. Since its underlying functions are written in CPython, the module is efficient and conforms to the C standard.

The Python module offers you the ability to perform common and useful mathematical calculations within your application. Here are a few practical uses for the module:

  • Calculating combinations and permutations using factorials
  • Calculating the height of a pole using trigonometric functions
  • Calculating radioactive decay using the exponential function
  • Calculating the curve of a suspension bridge using hyperbolic functions
  • Solving quadratic equations
  • Simulating periodic functions, such as sound and light waves, using trigonometric functions

Since the module comes packaged with the Python release, you don’t have to install it separately. Using it is just a matter of importing the module:

>>>

You can import the Python module using the above command. After importing, you can use it straightaway.

Libraries

Libraries (or modules) provides us with useful data types, functions, and
tools for making even better programs. They’re made so we don’t have to re-write
something someone else has already written for us. If we make our programs using
existing modules, the development process will be much more comfortable and
quick.

We import libraries using the command, at the
beginning of our source file.

import module_name

Then, we call module functions as they were in the module’s methods:

module_name.function_name()

We can also choose to only import certain functions:

from module_name import function_name

Then, the function would be globally accessible:

function_name()

We could even make everything from the module be accessible globally.
However, be careful with this approach and use it only if you know exactly what
you’re doing:

from module_name import *

Специальные константы

Математическая библиотека в Python содержит две важные константы.

Pie

Первая – это Pie (π), очень популярная математическая константа. Он обозначает отношение длины окружности к диаметру круга и имеет значение 3,141592653589793. Чтобы получить к нему доступ, мы сначала импортируем математическую библиотеку следующим образом:

import math

Затем мы можем получить доступ к этой константе с помощью pi:

math.pi

Вывод:

3.141592653589793

Вы можете использовать эту константу для вычисления площади или длины окружности. Следующий пример демонстрирует это:

import math

radius = 2
print('The area of a circle with a radius of 2 is:', math.pi * (radius ** 2))

Вывод:

The area of a circle with a radius of 2 is: 12.566370614359172

Мы увеличили значение радиуса до степени 2, а затем умножили его на круговую диаграмму в соответствии с формулой площади πr 2 .

Число Эйлера

Число Эйлера (e), являющееся основанием натурального логарифма, также определено в библиотеке Math. Мы можем получить к нему доступ следующим образом:

math.e

Вывод:

2.718281828459045

В следующем примере показано, как использовать указанную выше константу:

import math

print((math.e + 6 / 2) * 4.32)

Вывод:

24.702977498943074

Классификационные функции

Есть несколько разных функций, чтобы проверить, является ли комплексное число конечным, бесконечным или нан. Также есть функция проверки близости двух комплексных чисел.

print(cmath.isfinite(2 + 2j))  # True
print(cmath.isfinite(cmath.inf + 2j))  # False

print(cmath.isinf(2 + 2j))  # False
print(cmath.isinf(cmath.inf + 2j))  # True
print(cmath.isinf(cmath.nan + 2j))  # False


print(cmath.isnan(2 + 2j))  # False
print(cmath.isnan(cmath.inf + 2j))  # False
print(cmath.isnan(cmath.nan + 2j))  # True

print(cmath.isclose(2+2j, 2.01+1.9j, rel_tol=0.05))  # True
print(cmath.isclose(2+2j, 2.01+1.9j, abs_tol=0.005))  # False

Библиотека Numpy в Python

Библиотека Numpy в Python широко используется для выполнения математических операций с матрицами

Наиболее важной особенностью Numpy, которая отличает его от других библиотек, является способность выполнять вычисления на молниеносной скорости. Это возможно благодаря C-API, который позволяет пользователю быстро получать результаты

Например, вы можете реализовать скалярное произведение двух матриц следующим образом:

Python

import numpy as np

mat1 = np.array(,])
mat2 = np.array(,])
np.dot(mat1,mat2)

1
2
3
4
5
6

importnumpy asnp

mat1=np.array(1,2,3,4)

mat2=np.array(5,6,7,8)

np.dot(mat1,mat2)

Результат:

Python

array(,
])

1
2

array(19,22,

43,50)