В этом руководстве разберем процесс возведения в степень в Python.
В математике возведение в степень — это операция, при которой число умножается само на себя несколько раз. Python предоставляет встроенные операторы и функции для выполнения возведения в степень.
Оператор ** для возведения в степень
Многие разработчики считают, что символ карет (^
) — это оператор возведения числа в степень, ведь именно он обозначает эту операцию в математике. Однако в большинстве языков программирования этот знак выступает в качестве побитового xor
.
В Python оператор возведения в степень обозначается двумя символами звездочки **
между основанием и числом степени.
Функциональность этого оператора дополняет возможности оператора умножения *
: разница лишь в том, что второй оператор указывает на то, сколько раз первые операнд будет умножен сам на себя.
print(5**6)
Чтобы умножить число 5 само на себя 6 раз, используется **
между основанием 5 и операндом степени 6. Вывод:
15625
Проверим оператор с другими значениями.
Инициализируем целое число, отрицательное целое, ноль, два числа с плавающей точкой float
, одно больше нуля, а второе — меньше. Степеням же присвоим случайные значения.
num1 = 2
num2 = -5
num3 = 0
num4 = 1.025
num5 = 0.5
print(num1, '^12 =', num1**12)
print(num2, '^4 =', num2**4)
print(num3, '^9999 =', num3**9999)
print(num4, '^-3 =', num4**-3)
print(num5, '^8 =', num5**8)
Вывод:
2 ^12 = 4096
-5 ^4 = 625
0 ^9999 = 0
1.025 ^-3 = 0.928599410919749
0.5 ^8 = 0.00390625
pow() или math.power() для возведения в степень
Также возводить в степень в Python можно с помощью функции pow()
или модуля math, в котором есть своя реализация этого же модуля.
В обе функции нужно передать два аргумента: основание и саму степень. Попробуем вызвать обе функции и посмотрим на результат.
import math
print(pow(-8, 7))
print(math.pow(-8, 7))
print(pow(2, 1.5))
print(math.pow(2, 1.5))
print(pow(4, 3))
print(math.pow(4,3))
print(pow(2.0, 5))
print(math.pow(2.0, 5))
Вывод:
-2097152
-2097152.0
2.8284271247461903
2.8284271247461903
64
64.0
32.0
32.0
Отличие лишь в том, что math.pow()
всегда возвращает значение числа с плавающей точкой, даже если передать целые числа. А вот pow()
вернет число с плавающей точкой, если таким же был хотя бы один из аргументов.
numpy.np() для возведения в степень
В модуле numpy есть своя функция power()
для возведения в степень. Она принимает те же аргументы, что и pow()
, где первый — это основание, а второй — значение степени.
Выведем те же результаты.
print(np.power(-8, 7))
print(np.power(2, 1.5))
print(np.power(4, 3))
print(np.power(2.0, 5))
-2097152
2.8284271247461903
64
32.0
Как получить квадрат числа в Python?
Для возведения числа в квадрат, нужно указать 2
в качестве степени. Встроенной функции для получения квадрата в Python нет.
Например, квадрат числа 6 — 6**2
—> 36.
Сравнение времени работы разных решений
Теперь сравним, сколько занимает выполнение каждой из трех функций и оператора **
. Для этого используем модуль timeit
.
Основанием будет 2, а значением степени — 9999999.
import numpy as np
import math
import time
start = time.process_time()
val = 2**9999999
print('** за', time.process_time() - start, 'ms')
start = time.process_time()
val = pow(2, 9999999)
print('pow() за', time.process_time() - start, 'ms')
start = time.process_time()
val = np.power(2, 9999999)
print('np.power() за', time.process_time() - start, 'ms')
start = time.process_time()
val = math.pow(2, 9999999)
print('math.pow() за', time.process_time() - start, 'ms')
** за 0.078125 ms
pow() за 0.0625 ms
np.power() за 0.0 ms
Traceback (most recent call last):
File "C:ProgramsPythonPython38test.py", line 18, in
val = math.pow(2, 9999999)
OverflowError: math range error
В первую очередь можно обратить внимание на то, что math.pow()
вернула ошибку OverflowError
. Это значит, что функция не поддерживает крупные значения степени.
Различия между остальными достаточно простые, но можно увидеть, что np.power()
— самая быстрая.
Содержание:развернуть
- История
- Определение
- Обратные операции
-
Извлечение корня
-
Логарифмирование
- Степень
-
Целочисленная
-
Рациональная
-
Вещественная
- Ноль в степени ноль
Когда я был студентом, мой преподаватель по методам программирования любил повторять: «В математике все идеи простые». Чаще всего, фраза звучала в момент объяснения новой сложной темы, а потому вызывала определённые внутренние противоречия.
С возведением в степень всё не так — это действительно простая операция.
История
Возведение в степень — частный случай умножения, поэтому данную операцию изначально не рассматривали, как самостоятельную. Но уже в работах Диофанта Александрийского степени отведено особое место. В частности «Отец Алгебры» применял понятия кубов и квадратов числа.
Возведение в степень определяется как результат n-кратного умножения числа самого на себя.
Эта операция была известна ещё в древнем Вавилоне, однако современный её вид устоялся лишь в XVII веке.
Как умножение позволяет сократить количество символов сложения:
6 + 6 + 6 + 6 + 6 + 6 = 6 * 6
Так и степень сокращает запись умножения:
- 6 — это основание;
- 2 — показатель степени (это число говорит о том, сколько раз число в основании должно быть умножено само на себя).
До воцарения числового показателя, были и другие варианты его записи. Математики раннего Возрождения использовали буквы. Например, Q обозначала квадрат, а C — куб. Различные формы записи возведения в степень не обошли и языки программирования.
Для АЛГОЛа и некоторых диалектов Бейсика применяется значок ↑. В матлабе, R, Excel-е и Хаскеле используется «циркумфлекс» — ^ или «галочка». Этот символ популярен и вне программирования.
Определение
В Python возведение в степень записывается при помощи двойной «звёздочки» — «**«
a = 2 ** 4
print(a)
> 16
Вторая форма записи — встроенная функция pow():
# первый аргумент — основание, а второй — показатель
b = pow(2, 4)
print(b)
> 16
Обратные операции
Извлечение корня
У возведения в степень две обратные операции. Первая — извлечение корня. Подробнее о корнях в Python вы можете почитать в нашей статье. Отметим лишь, что корень в питоне вычисляется с помощью той же функции pow():
# корень четвёртой степени из 16
root = pow(16, (1/4))
print(root)
> 2.0
Либо с применением оператора «**«:
# корень кубический из 27
cub_root = 27 ** (1/3)
print(cub_root)
> 3.0
Для извлечения квадратного корня справедливы оба вышеуказанных способа, но существует и третий, специализированный. Для его применения требуется импортировать модуль math
:
import math
# квадратный корень из 100
sqr_root = math.sqrt(100)
print(sqr_root)
> 10.0
Логарифмирование
Логарифмирование — вторая обратная операция.
Логарифмом числа «b» по основанию «a» зовётся такой показатель степени, в который следует возвести «a», чтобы получить «b».
Здесь x
— логарифм. Пример из математики — найдем значение выражения:
Легче всего эта запись читается в формате вопроса: «В какую степень нужно возвести 2, чтобы получить 16?». Очевидно, в 4-ю. Следовательно,
В питоне операция нахождения логарифма также заложена в функционал модуля math:
import math
# отыщем логарифм 100 по основанию 10
# 100 — основание логарифма, а 10 — аргумент
log = math.log(100, 10)
print(log)
> 2.0
Степень
Целочисленная
В целочисленную степень можно возводить положительные и отрицательные int
и float
числа:
# int
print(3 ** 9)
> 19683
print(pow(-2, 10))
> 1024
# float
print(3.14 ** 9)
> 29673.367320587102
print(pow(-1.1, 1001))
> -2.7169262098066285e+41
И функция pow()
и оператор «**» умеют возводить комплексные числа:
# complex
a = complex(2, 1)
print(pow(a, 2))
> (3+4j)
print(a ** 2)
> (3+4j)
Показатель степени может быть положительным, отрицательным и нулевым:
# +
print(12 ** 4)
> 20736
# -
print(100 ** -2)
> 0.0001
# 0
print(1231 ** 0)
> 1
Результат не определён, когда 0 возводят в отрицательную степень:
print(0 ** -4)
> ZeroDivisionError: 0.0 cannot be raised to a negative power
Ошибка деления на ноль возникает из-за следующего свойства степени:
Рациональная
Возведение числа в рациональную степень напрямую связано с извлечением корня из этого числа отношением:
Если рациональный показатель отрицательный, а основание равно нулю, то Питон все ещё будет выдавать ошибку:
print(0 ** -(5/4))
> ZeroDivisionError: 0.0 cannot be raised to a negative power
В случае, когда основание меньше нуля, числитель показателя нечётный, а знаменатель, напротив, чётный, результат получается комплексным. Но это свойство рациональных степеней учитывается только в функции pow()
:
print(pow(-5, (5/4)))
> (-5.286856317202822-5.286856317202821j)
print(type(pow(-5, (5/4))))
> <class 'complex'>
В остальном возведение в рациональную степень работает, как и для целочисленной:
print(0 ** (3/2))
> 0.0
print(pow(1, (23/24)))
> 1.0
print(10 ** (6/7))
> 7.196856730011519
Вещественная
В начале автор объявил, что возведение в степень — штука несложная. Так вот, для вещественных степеней это уже не совсем так. Идеи, заложенные в эту операцию, хоть и просты, но их много, и каждая из них достойна собственной статьи. Описать вкратце разложение в ряд Тейлора и численное интегрирование не получится. Это будет не справедливо, как по отношению к вам, так и к математике. Поэтому, выделим главное:
Python умеет возводить в вещественную степень даже вещественные числа (пусть и псевдо)
Сделать такое инструментами математики ой как непросто:
# возведём число Пи в степень e
print(pow(math.pi, math.e))
> 22.45915771836104
Ноль в степени ноль
Дискуссии по поводу значения 0 в степени 0 продолжаются уже больше двух веков. Обычно значение нуля в нулевой степени принято считать неопределённым, но символическое соглашение о том, что «0 в степени 0 равно 1» помогает в записи формул и алгоритмов. Ровно поэтому так сделано и в Python:
print(pow(0, 0))
> 1
print(0 ** 0)
> 1
На чтение 2 мин Просмотров 522 Опубликовано 23.12.2022
Содержание
- Введение
- Возведение числа в степень оператором **
- Возведение числа в степень функцией pow()
- Возведение числа в степень функцией power()
- Заключение
Введение
В ходе статьи рассмотрим три способа возведения числа в степень на Python.
Возведение числа в степень оператором **
В первом способе воспользуемся оператором **. Принцип работы очень прост, сначала пишем число, которое нужно возвести в степень, ставим оператор, и пишем число степени:
# Переменная "a" равна двум в пятой степени
a = 2**5
Выведем результат:
# Переменная "a" равна двум в пятой степени
a = 2**5
print(a)
# Вывод: 32
Возведение числа в степень функцией pow()
Помимо оператора ** в Python есть функция pow(). В неё нужно передать два аргумента, первым будет являться число, которое нужно возвести в степень, а вторым число степени:
# Переменная "a" равна десяти в третьей степени
a = pow(10, 3)
Выведем результат:
# Переменная "a" равна десяти в третьей степени
a = pow(10, 3)
print(a)
# Вывод: 1000
В стандартной библиотеке Python есть модуль под названием math. В данном модуле существует своя функция для возведения в степень, и называется она pow(). Работает она по тому же принципу, но возвращает итоговый результат в типе данных float:
# Переменная "a" равна десяти в третьей степени
a = pow(10, 3)
print(a)
# Вывод: 1000.0
Возведение числа в степень функцией power()
В данном способе мы будем использовать библиотеку под названием numpy. Так как данный модуль не входит в стандартную библиотеку Python, его нужно установить, для этого нужно перейти в терминал, или же командную строку, прописать pip install numpy, нажать Enter и ждать инсталляции.
В numpy есть функция под названием power(), благодаря как раз таки и можно возводить числа в степень:
import numpy as np
# Вывод результата 4 в 11 степени
print(np.power(4, 11))
# Вывод: 4194304
Заключение
В ходе статьи мы с Вами рассмотрели целых три способа возведения чисел в степень на Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂
В этой статье вы узнаете о числах и различных математических функциях, которые доступны в Python.
Говоря о числах, мы пройдемся по наиболее часто используемым математическим операторам, которые нужны для выполнения простых арифметических операций с числами в Python. А в разделе «Математические функции» познакомимся с функциями, которые будут очень полезны при вычислении сложных математических выражений: возведение в степень, синус/косинус, факториалы и т. д. Приступим.
Перед прочтением статьи рекомендуем открыть IDLE. По ходу чтения копируйте примеры и прогоняйте их через компилятор, чтобы на практике понять, как работает тот или иной оператор или функция.
Числа
Python есть 6 основных «математических» операторов:
- сложение;
- вычитание;
- умножение;
- деление;
- возведение в степень.
- остаток от деления (mod);
- целочисленное деление (div).
Большинство из вас должно быть знакомо со всеми вышеперечисленными операторами, кроме оператора взятия остатка от деления и целочисленного деления. Не волнуйтесь, мы поговорим об этом. Начнем с начала.
Сложение
Несложно догадаться, что делает этот оператор: он просто складывает числа. Чтобы проверить, как это работает, просто перейдите в IDLE и введите число, затем знак сложения + (плюс), а затем еще одно число, которое нужно добавить к первому числу. Нажмите Enter. Это должно выглядеть так, как показано ниже.
Пример: сложим 8 и 19.
>>> 8+19
27
После нажатия клавиши Enter чуть ниже строки кода появится ответ. Вывод так и будет отображаться каждый раз — чуть ниже кода. Нажимаете Enter — получаете результат.
Не останавливайтесь на этом примере, попробуйте использовать оператор сложения с другими числами. Например, попробуйте сложить числа с плавающей точкой: 4.5 + 5.5
и т. д.
У вычитания такой же синтаксис, как и у сложения. Просто измените оператор на знак вычитания -
(минус). Так же выберите случайные числа и попробуйте вычесть одно из другого.
Пример: вычтем из 89.33 число 23.67. Ответ 65.55.
Умножение
Опять то же самое! Просто измените оператор на *
(звездочку). Вы ведь знаете, что он используется для умножения, верно? Попробуйте использовать оператор в IDLE.
Пример: возьмите любые два числа и умножьте их с помощью оператора умножения, как показано ниже.
Деление
На этот раз нам понадобится знак /
(слэш). Попробуйте использовать оператор со случайными числами.
Если вы новичок, то можете столкнуться с некоторыми трудностями. Какими? Сейчас узнаем. Для начала возьмем целые числа (числа без десятичной дроби), например 16 и 2, и разделим одно на другое.
>>> 16/2
8
Возведение в степень
Этого математического оператора обычно в языках программирования нет. Честно говоря, языков со встроенным возведением в степень, кроме Python, и не припомнить. В других языках для возведения в степень используют другие операторы. В Python же для этого достаточно поставить между двумя числами **
(две звездочки). Правое число возведется в степень, равную левому числу. Например, чтобы найти 10 степень числа 2, нужно написать:
>>> 2**10
1024
Теперь мы знаем обо всех часто используемых математических операторах Python. Попробуйте объединить несколько операторов и использовать их в одном выражении. Например, введите ((2**5)*10)/3
. Python должен вывести 106.66666666666667
.
Взятие остатка от деления
Оператор взятия остатка от деления в Python обозначается % (знак процента). Если вам знакомы другие языки программирования, скорее всего, вы знаете, что такое взятие остатка от деления. В других языках этот оператор часто называют mod. Если вы с ним еще не знакомы, ничего страшного.
Вы ведь знаете оператор деления, так? Тогда вы знаете, каков будет остаток от этого деления, верно? Этот оператор как раз и возвращает этот остаток в качестве ответа. Целая часть как бы откидывается. Вот несколько примеров.
12%2 = 0
, так как 12 полностью делится на 2.13%2 = 1
, так как остаток от деления 13 на 2 равен 1.19%5 = 4
, так как, опять же, остаток от деления 19 на 5 равен 4.
В IDLE все так же:
Целочисленное деление
Этот оператор в Python обозначается знаком // (двумя слэшами), в других языках его называют div. Оператор откидывает остаток и оставляет только целую часть. Вот как это работает:
13//2 = 6
, так как 13/2 = 6.519//5 = 3
, так как 19/5 = 3.8
Попробуйте использовать целочисленное деление со случайными числами в своей IDLE.
Математические функции
Когда вы узнаете о Python побольше, возможно, вам захочется создать «научный калькулятор» в качестве проекта. Для этого кроме простых математических операций вам придется реализовать математические функций: тригонометрические, логарифмические и так далее. Но даже если мы забудем о создании продвинутого калькулятора, в жизни программиста достаточно ситуаций, когда вам могут понадобиться эти функции.
Например, если вы создаете ПО для инженеров-строителей — им математические функции нужны для расчета различных параметров в конструкции, которую они строят. Или, например, аэрокосмическое ПО для расчетов траектории спутника и так далее. Короче говоря, сложные математические функции используются в совершенно различных реальных программах, так что знать о них нужно.
В Python хорошие ребята уже написали код практически для всех математических функций и добавили их в библиотеки. Так что вам вручную писать функции не придется, вы можете без зазрения совести использовать готовые решения.
Подробнее о функциях в Python мы поговорим в другой статье. Здесь мы лишь немного коснемся этого вопроса.
Функция — это фрагмент кода, который принимает (или не принимает) в качестве входных данных некоторые значения, обрабатывает их, а затем возвращает (или не возвращает) некое значение в качестве выходных данных.
Как вы можете увидеть на рисунке выше, на вход функции подается x
, а на выходе функция f
выводит значение f(x)
. В целом, функции не обязательно принимать что-то на вход или выводить что-то. Но для математической функции важно и то, и другое. Например, чтобы вычислить sin(x)
обязательно нужно значение x
.
В Python есть два типа функций.
- Встроенные функции — это функции, для которых не требуется никаких сторонних файлов кода (они же модули или библиотеки). Они — часть Python и генерируются в компиляторе Python, поэтому ничего импортировать для их использования не нужно.
- Пользовательские функции требуют внешних файлов, их называют модулями. Использование этих внешних файлов в вашем коде называется импортом. Все, что вам нужно сделать, чтобы использовать функции из библиотека, это импортировать их в ваш код.
Пришло время протестировать математические функции. Начнем со степенных функций!
Возведение в степень — pow(x, y)
Я знаю, о чем вы думаете. Мы же только что возводили числа в степень, так? Так. Но тогда мы возводили число в степень при помощи оператора, а это — встроенная функция. Это альтернативный способ возведения в степень.
Поскольку это встроенная функция, импортировать никаких библиотек не нужно. На вход функция pow(x, y)
принимает два числа — основание и показатель степени.
Откройте IDLE и напишите:
>>> pow(3, 2)
Теперь проанализируем, что мы написали и что сделает Python. Сначала мы ввели pow
— это просто имя функции, которую мы пытаемся вызвать. Это укажет компилятору Python найти встроенную функцию с именем pow
и определить, что она может делать. Далее в скобках мы написали два числа через запятую: 3 и 2. Первое число — 3 — основание, а второе — 2 — показатель степень. Иначе говоря, мы пытаемся возвести 3 во вторую степень.
Как только компилятор Python убедится, что синтаксис верен, он начнет искать реализацию функции pow и выведет ответ: 9.
Теперь вы знаете, как вызывать функции. В случае с математическими функциями в общем виде это выглядит следующим образом:
>>> имя_функции(аргумент1, необязательный_аргумент2, необязательный_аргумент3, ...)
Значения в скобках, разделенные запятыми, называются аргументами. В функции pow(x, y)
в примере выше аргументами являлись 3 и 2. В функции может быть любое количество аргументов. У математических функций, как правило, есть как минимум один аргумент. Давайте рассмотрим другие встроенные математические функции.
Модуль — abs(x)
Функция модуля возвращает неотрицательное значение аргумента. Иначе говоря, она не меняет неотрицательные значения, а отрицательные значения делает положительными.
Пример: модуль -3 равен 3, модуль -8.74 равен 8.74 и так далее.
Синтаксис
>>> abs(-99.99)
Так как -99.99 — отрицательное число, выводом будет положительное число — 99.99.
Теперь давайте попробуем некоторые функции, для использования которых нужно импортировать библиотеку.
Синус — sin(x)
Синус — тригонометрическая функция, она принимает только одно значение в качестве аргумента — x
. Аргумент должен быть выражен в радианах, не путайте со степенью. Как мы уже сказали, эту функцию не получится использовать напрямую. Если вы попытаетесь вызвать функцию sin(x), получите сообщение об ошибке.
Дело в том, что компилятор не знает, что ему делать, когда он встречает функцию sin()
, поскольку мы ее не определили. Чтобы использовать ее, придется импортировать математический модуль Python, в котором в том числе есть уже реализованная функция sin()
, которая поможет компилятору понять, что делать, когда он встречает эту функцию.
То, что мы сейчас сделаем, называется импортом модуля. Для этого потребуется написать такую строку:
>>> import math
Жмем Enter, и готово! Теперь, чтобы использовать функцию sin(), перейдите в новую строку и введите:
>>> math.sin(3.14159)
Поскольку 3.14159 это приблизительно π
, ответ будет близок к нулю.
Как вы можете видеть, ответ такой — 2.653589335273e-6
. Он может показаться немного пугающим, но на самом деле, это всего лишь значит следующее: 2.653589335273 × 10^-6
, что равно 0.000002653589335273
. Действительно близко к нулю.
В математическом модуле есть еще ряд полезных математических функций: floor()
, exp()
, log()
, sqrt()
и многие другие. Их полный список и количество аргументов, которые они принимают на вход, можно найти на официальном сайте Python в разделе Mathematical Functions.
Числа очень часто применяются в программирование для ведения счета в играх, представления данных в визуализации, хранение информации и т.д.
Содержание страницы: |
---|
1. Типы чисел |
2. Арифметические операторы |
2.1. Сложение и вычитание |
2.2. Умножение |
2.3. Возведение в степень |
2.4. Деление |
2.5. Деление с округлением |
2.6. Оператор вычисления остатка от деления |
3. Исключения и трассировка |
1. Типы чисел в Python.
В Python числа делятся на несколько категорий в соответствии со способом их использования. Основные это целые числа (int) и вещественные (float) или числа с плавающей точкой. Чтобы узнать к какому типу относится число или переменная, можно воспользоваться встроенной функцией type(). Запустите командную строку и активируйте Python. В скобках введите число или переменную, чтобы узнать ее тип.
>>> type(5)
<class ‘int’>
>>> type(12.5)
<class ‘float’>
>>> x = 10
>>> type(x)
<class ‘int’>
Значение 12,5 является числом с плавающей точкой, поэтому Python выводит строку float. Переменная x содержит целое число 10, поэтому Python выводит тип int (сокращение от integer).
2. Арифметические операторы Python.
В таблице перечислены арифметические операторы, среди которых встречаются некоторые знаки, не используемые в алгебре.
Операции Python | Арифметический оператор | Алгебраическое выражение | Выражение Python |
---|---|---|---|
Сложение | + | a + b | a + b |
Вычитание | — | a — b | a — b |
Умножение | * | a · b | a * b |
Возведение в степень | ** | xy | a ** b |
Деление | / | x / y | x / y |
Целочисленное деление | // | [ x / y ] | x // y |
Остаток от деления | % | r mod s | r % s |
2.1. Сложение и вычитание в Python.
Сложение и вычитание в целом выполняется и записывается, как и обычно в алгебре.
>>> 5 + 2
7
>>> 5 — 2
3
2.2. Умножение в Python( * )
В Python в качестве оператора умножения используется знак * (звездочка)
>>> 5 * 5
25
2.3. Возведение в степень в Python( ** )
В Python для возведения в степень используются два знака **.
>>> 5 ** 6
15625
>>> 81 **(1/2)
9.0
Для вычисления квадратного корня можно воспользоваться показателем степени 1/2. Корень 81 = 9.
2.4. Деление в Python ( / )
Оператор деления ( / ) делит числитель на знаменатель
>>> 10 / 2
5.0
>>> 10 / 8
1.25
♦ Важно, при делении двух любых чисел — даже если это целые числа, частным от деления которых является целое число, вы всегда получаете вещественное число.
2.5. Деление с округлением в Python( // )
Операция целочисленное деление ( // ) делит числитель на знаменатель, в результате получается наибольшее целое число, не превышающее результат. В Python дробная часть отсекается.
>>> 10 // 8
1
>>> 20 // 8
2
>>> — 17 // 4
-5
При обычном деление 10 на 8, получается результат 1,25. Python отсекает дробную часть и в итоге получаем 1.
2.6. Оператор вычисления остатка от деления ( % )
Для вычисления остатка от деления в Python используется оператор вычисления остатка от деления %
>>> 21 % 5
1
>>> 18 % 4
2
>>> 9.5 % 4.5
0.5
В данных примерах при делении 21 на 5, получается частное 4 и остаток 1. Во втором случае при делении 18 на 4, получается 4 и остаток 2. Этот оператор чаще работает с целыми числами, но также может использоваться и с другими типами.
3. Исключения и трассировка.
В Python также как и в алгебре деление на 0 запрещено. При попытке выполнения такой операции происходит исключение. Сообщая об исключение, Python выдает трассировку стека. В трассировке указано, что произошло исключение типа ZeroDivisionError, большая часть исключений заканчивается суффиксом Error. Ошибка division by zero — деление на ноль.
>>> 5 / 0
Traceback (most recent call last):
File «<stdin>», line 1, in <module>
ZeroDivisionError: division by zero
Далее: Строки и функция print в Python
Назад: Запуск программ Python в командной строке
>>> 5 -?
В Python, как и во всех популярных языках программирования, имеются целые числа (int) и числа с плавающей точкой (float). Но у Python есть и отличительная особенность – комплексные числа (complex).
Стоит также уточнить, что при присваивании переменной любого типа числа, не нужно использовать кавычки, так как они определяют строку, а не число. Пример:
str1 = '1' str2 = '2' num1 = 1 num2 = 2 print(str1+str2) # Выведет '12' print(num1+num2) # Выведет 3
Целые числа (int) в Python
В Python, как и в привычной нам математике, целыми числами являются все числа, которые лишены дробной части, то есть не имеют плавающей точки. Рассмотрим на примере:
num1 = 1 num2 = 2 # Присваиваем переменным целые числа print(num1, num2) # Выведет 1 2
Для упрощения создания больших чисел в Python используется нижнее подчеркивание, а не запятая. Пример:
num = 999_999_999 print(num) # Выведет 999999999 num = 999,999,999 print(num) # Выдаст ошибку
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Числа с плавающей точкой (float)
Для отделения целой части числа в Python используется точка. Рассмотрим создание float-числа на примере:
num1 = 0.1 num2 = 0.22 # Присваиваем переменным целые числа print(num1, num2) # Выведет 0.1 0.22
Комплексные числа (complex)
Как я писал выше, Python поддерживает комплексные числа без установки дополнительных модулей. Рассмотрим создание таких чисел на примере:
# создание и сложение двух комплексных чисел num1 = 1 + 2j num2 = 2 + 4j summa = num1 + num2 print(summa) # Выведет (3+6j)
Проверка типа данных переменной
Для проверки типа данных переменной в Python используется встроенная функция type(). Рассмотрим на примере:
str = '1' int = 1 float = 1.1 com1 = 1 + 2j com2 = 2 + 4j complex = com1 + com2 print(type(str)) # Выведет <class 'str'> print(type(int)) # Выведет <class 'int'> print(type(float)) # Выведет <class 'float'> print(type(complex)) # Выведет <class 'complex'>
Арифметические действия в Python
Сложение делается с помощью оператора “+”. Пример:
a = 1 + 1 print(a) # Выведет 2
С помощью сложения можно преобразовать целое число в число с плавающей точкой. Рассмотрим на примере:
a = 1 + 1.0 print(a) # Выведет 2.0
Вычитание выполняется с помощью оператора “—”. Пример:
a = 1 - 1 print(a) # Выведет 0
Умножение делается с помощью оператора “*”:
a = 2 * 2 print(a) # Выведет 4
Возведение в степень выполняется с помощью оператора “**”. Пример:
a = 2**3 print(a) # Выведет 8
Также возведение в степень можно производить с помощью функции pow():
num1 = 2 num2 = 3 print(pow(num1, num2)) # Выведет 8
Деление выполняется с помощью оператора “/”. Пример:
a = 4 / 2 print(a) # Выведет 2
Для получения остатка от деления используется оператор “%”. Пример:
a = 5 % 2 print(a) # Выведет 1
Целочисленное деление выполняется с помощью оператора “//”. Пример:
a = 5 // 2 print(a) # Выведет 2
Округление чисел с плавающей точкой
Для округления float-чисел до ближайшего целого числа используется функция round(). Рассмотрим на примере:
num1 = 1.4 num2 = 1.6 print(round(num1)) # Выведет 1 print(round(num2)) # Выведет 2
Получение модуля числа
Для получения модуля любого числа мы можем использовать функцию abs(). Рассмотрим на примере:
num1 = -2 num2 = 3 print(abs(num1)) # Выведет 2 print(abs(num2)) # Выведет 3
Вывод
Мы разобрали функции для работы с числами в Python и научились ими пользоваться. Надеюсь, эта статья оказалась для вас полезной. Удачи в ваших начинаниях!