- Числа и арифметические операторы Python
- 1. Типы чисел в Python.
- 2. Арифметические операторы Python.
- 2.1. Сложение и вычитание в Python.
- 2.3. Возведение в степень в Python ( ** )
- 2.4. Деление в Python ( / )
- 2.5. Деление с округлением в Python ( // )
- 2.6. Оператор вычисления остатка от деления ( % )
- 3. Исключения и трассировка.
- Возведение числа в степень на Python
- Оператор ** для возведения в степень
- pow() или math.power() для возведения в степень
- numpy.np() для возведения в степень
- Сравнение времени работы разных решений
- Как возвести число в квадрат в Python
- Как возвести число в квадрат при помощи оператора возведения в степень (**)
- Как использовать функцию pow() в Python
- Как возвести число в квадрат (и любую другую степень) при помощи функции math.pow()
- Заключение
Числа и арифметические операторы Python
Числа очень часто применяются в программирование для ведения счета в играх, представления данных в визуализации, хранение информации и т.д.
Содержание страницы: |
---|
1. Типы чисел |
2. Арифметические операторы |
2.1. Сложение и вычитание |
2.2. Умножение |
2.3. Возведение в степень |
2.4. Деление |
2.5. Деление с округлением |
2.6. Оператор вычисления остатка от деления |
3. Исключения и трассировка |
1. Типы чисел в Python.
В Python числа делятся на несколько категорий в соответствии со способом их использования. Основные это целые числа ( int ) и вещественные ( float ) или числа с плавающей точкой. Чтобы узнать к какому типу относится число или переменная, можно воспользоваться встроенной функцией type() . Запустите командную строку и активируйте Python. В скобках введите число или переменную, чтобы узнать ее тип.
Значение 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 |
Возведение в степень | ** | x y | 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 в качестве оператора умножения используется знак * (звездочка)
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
В данных примерах при делении 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 «», line 1, in
ZeroDivisionError: division by zero
Возведение числа в степень на Python
В этом руководстве разберем процесс возведения в степень в Python.
В математике возведение в степень — это операция, при которой число умножается само на себя несколько раз. Python предоставляет встроенные операторы и функции для выполнения возведения в степень.
Оператор ** для возведения в степень
Многие разработчики считают, что символ карет ( ^ ) — это оператор возведения числа в степень, ведь именно он обозначает эту операцию в математике. Однако в большинстве языков программирования этот знак выступает в качестве побитового xor .
В Python оператор возведения в степень обозначается двумя символами звездочки ** между основанием и числом степени.
Функциональность этого оператора дополняет возможности оператора умножения * : разница лишь в том, что второй оператор указывает на то, сколько раз первые операнд будет умножен сам на себя.
Чтобы умножить число 5 само на себя 6 раз, используется ** между основанием 5 и операндом степени 6. Вывод:
Проверим оператор с другими значениями.
Инициализируем целое число, отрицательное целое, ноль, два числа с плавающей точкой 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:\Programs\Python\Python38\test.py", line 18, in val = math.pow(2, 9999999) OverflowError: math range error
В первую очередь можно обратить внимание на то, что math.pow() вернула ошибку OverflowError . Это значит, что функция не поддерживает крупные значения степени.
Различия между остальными достаточно простые, но можно увидеть, что np.power() — самая быстрая.
Как возвести число в квадрат в Python
Чтобы возвести число в квадрат, нужно умножить это число само на себя. В Python есть несколько способов сделать это.
Во-первых, вы можете напрямую умножить число само на себя ( число * число ). Однако в данной статье мы покажем вам три способа сделать это без перемножения чисел напрямую. Ведь когда это возведение в квадрат, нужно написать число только два раза. Но что если потребуется возвести число в куб, в пятую степень, в десятую? Тогда непосредственно перемножать число на само себя N раз покажется не такой уж привлекательной идей.
Существует три способа возведения числа в указанную степень в Python:
- оператор возведения в степень **
- встроенная функция pow()
- функция math.pow() из математического модуля math
Как возвести число в квадрат при помощи оператора возведения в степень (**)
** называется оператором возведения в степень. Синтаксис данного оператора выглядит следующим образом:
Здесь number — число, а exponent — степень, в которую нужно это число возвести. В целом это выражение оценивается как number * number. (количество number равно значению показателя степени).
С помощью этого оператора мы можем возвести число в любую степень, в том числе и в квадрат. К примеру, чтобы найти квадрат числа 5, вы можете написать следующий код:
square = 5 ** 2 print(square) # 25
Оператор степени оценивает выражение как 5 * 5 , в результате чего мы получаем 25.
Конечно, этот оператор можно использовать не только для возведения чисел в квадрат. Вы можете возвести любое число в любую степень. Например, чтобы получить пять в седьмой степени (5 7 ), нужно написать следующий код:
square = 5 ** 7 print(square) # 78125
Как видите, это намного удобнее, чем писать number * number … N раз.
Как использовать функцию pow() в Python
Python также имеет встроенную функцию pow() , которая возводит число в указанную степень. Синтаксис данной функции выглядит следующим образом:
Приведенный выше код интерпретируется как base exponent , то есть число base в степени exponent .
Функция pow() принимает два аргумента: число (известное как основание или base ) и степень, в которую число должно быть возведено (показатель степени — exponent ).
Например, чтобы найти квадрат числа 5, мы можем воспользоваться этой функцией следующим образом:
square = pow(5, 2) print(square) # 25
Не трудно догадаться, что эту функцию также можно использовать для возведения в куб, седьмую и любую другую степень. Просто будет меняться значение степени exponent .
Кроме того, функция pow() также может принимать и третий аргумент: modulo (модуль). Знак модуля — % . Этот аргумент оценивает остаток при делении одного числа на другое.
Например, 5 % 2 дает 1, потому что 5 разделить на 2 равно 2, а остаток — 1. То есть функция pow() , когда ей переданы три аргумента, делает следующее:
- Возводит number (первый аргумент) в степень exponent (второй аргумент)
- Находит остаток от деления результата на modulo (третий аргумент)
Применение функции pow() с тремя аргументами выглядит следующим образом:
mod = pow(5, 2, 3) print(mod) ## 1 ## 5 * 5 = 25 ## 25 % 3 = 1
Согласно документации Python по pow() , этот подход работает более эффективно, чем pow(5,2) % 3 .
Как возвести число в квадрат (и любую другую степень) при помощи функции math.pow()
math.pow() берется из математического модуля Python — math . Эта функция похожа на встроенную функцию pow() в использовании и синтаксисе, за исключением двух отличий:
- она принимает только два аргумента: основание base и показатель степени exponent
- она всегда возвращает число с плавающей запятой, даже если результат является целым числом
К примеру, math.pow(5, 2) вернет нам 25.0 .
Встроенная функция pow() возвращает число с плавающей запятой только тогда, когда число является дробным. При этом, если результат является целым числом, она вернет целое число. А вот math.pow() в любом случае возвращает число с плавающей запятой.
Заключение
Итак, мы обсудили, как возвести число в квадрат в Python. Мы разобрали три основных способа: оператор возведения в степень ** , встроенную функцию pow() и функцию math.pow() из модуля math . Теперь вы точно знаете, как возводить числа в степень в Python!
Надеемся данная статья была вам полезна! Успехов в написании кода!