что такое pow в питоне

Руководство по функции Python POW ()

Исполнители являются номерами суперприпций, которые описывают, сколько раз вы хотите умножить номер самостоятельно. Расчет стоимости, поднятой до власти другого значения, является фундаментальной операцией в прикладной математике, такой как финансы, машинное обучение, статистика и наука о данных. В этом руководстве показано вам, как это сделать в Python! Определение для … Руководство по функции Python POW () Подробнее »

Автор оригинала: Carrie-Anne Pienaar.

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

Определение

Примеры без мод

Параметры и синтаксис

ПараметрОписание
превышатьНомер, который представляет основание функции, мощность которой должна быть рассчитана.
базаНомер, который представляет экспонент функции, к которому будет поднят базу.
модНомер, с которым будет вычислен модуль.

Возвращаемое значение: Выход база поднял до сил exp и будет числовым типом данных, int, float или комплекс в зависимости от того, что вы вводите.

Использование функции POW () без аргумента мода

Сравнение двух методов

POW () Функция принимает все числовые типы данных, то есть int, float и даже комплексные числа. Как правило, возвращаемое значение будет зависеть от того, какие типы данных вы вводите. Приведенный выше пример показывает, что оба аргумента являются типом INT, поэтому возвращается тип INT. Однако, если вы должны были вместо этого использовать плавать Номер как один или оба аргумента, функция автоматически вернет тип поплавком.

Примеры с использованием типов поплавок

Как и в случае с помощью входов типа Float, приводящие к поплавке выходов, те же рассуждения применяются к сложным числам. Если вы введете комплексное число как один или оба аргумента, будет возвращен комплексное число.

Пример с использованием сложных чисел

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

базапревышатьТип возврата
НеотрицательныйНеотрицательныйint.
НеотрицательныйОтрицательныйкапля
ОтрицательныйНеотрицательныйint.
ОтрицательныйОтрицательныйплавать

Примеры возвратных значений с различными типами ввода

Использование функции POW () с аргументом мода

Процесс операций при использовании аргумента мода выглядит следующим образом:

Если у нас есть POW (X, Y, Z) Функция впервые выполняет задачу повышения х к власти y И тогда этот результат используется для выполнения задачи по модулю в отношении z Отказ Это будет эквивалент (x ** y)% z Отказ

Примеры с использованием мод

Общее правило для использования аргумента мода состоит в том, что все значения должны быть целочисленного типа, exp Аргумент должен быть не отрицательным, а аргумент мода должен быть ненулевым. Тем не менее, Python 3.8 Теперь поставляется с функциональностью вычисления модульных аванс. В этом случае exp Аргумент может быть отрицательным, при условии, что база относительно премьер Для мода, то есть единственный общий целочисленный делитель базы и мода составляет 1.

Итак, при использовании POW () Функция с отрицательным exp Функция выполнится следующим образом:

Другими словами, функция будет вычислять модульную обращенную основу основы и в первую очередь мод, а затем в результате будет использоваться в POW () Функция, как база, которая должна быть вычислена как обычно, с аргументом EXP преобразуется в его неотрицательный аналог.

Пример модульной обратной

В этом примере прямой модульный обратный вычисляется, потому что inv_base будет поднят до власти 1.

Расчет n-го корня числа с использованием POW ()

К сожалению, Python не имеет встроенной функции для расчета nth корень числа. Математический модуль имеет только функцию для расчета квадратных корней, math.sqrt () Поэтому мы должны быть творчески, чтобы рассчитать nth корнеплоды.

Мы знаем, что NX эквивалентно x1n Отказ Таким образом, используя эти знания, мы можем рассчитать n-й корня в Python, используя либо POW (X, (1/N)) или х ** (1/n) Отказ

Примеры расчета nth orots

Обратите внимание, что выполнение nth Корневой расчет всегда будет возвращать поплавок, когда не использует сложные числа. Так как Python’s Тип поплавка работает по приближениям Он часто будет возвращать приближение, а не точное число, даже если точный ответ возможен. Это продемонстрировано во втором примере выше.

При расчете nth root от отрицательного числа возвращаемое значение будет сложным числом, возможным ли целое число или нет.

Примеры расчета nth корней отрицательных оснований

math.pow () Функция

В Математический модуль Python, есть подобная функция под названием math.pow () Отказ Чтобы использовать это, нам сначала нужно импортировать математическую функцию, таким образом, Встроенный POW () Функция будет очень немного быстрее. Основные различия между двумя функциями в том, что math.pow () Не допускает дополнительный аргумент мода, и он всегда будет возвращать поплавок. Так что если вы хотите убедиться, что вы получите поплавок, math.pow () это лучший вариант.

Пример использования math.pow ()

Когда использовать функцию POW () VS, когда использовать ** Оператор

При принятии решения между использованием POW () Функция или ** Оператор, самый важный фактор для рассмотрения, будет эффективность вашего кода. Мы можем использовать TimeIt.Timeit () Функция из Время течения Модуль, чтобы узнать, насколько быстро Python выполняет наш код.

Примеры использования Timeit с простыми числами

При выполнении простых вычислений мощности, ** Оператор кажется намного быстрее.

Примеры с использованием модуля

То же самое верно, даже когда мы включаем операцию по модулю.

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

Примеры с использованием больших чисел

Здесь POW () Функция чрезвычайно быстрая по сравнению с ** оператор. Поэтому мы можем обобщать эти выводы, сказав, что когда вы хотите выполнить короткие, простые расчеты, ** Оператор является лучшим вариантом, однако, если ваша операция включает в себя очень большие числа, POW () Функция намного эффективнее.

Источник

Встроенные функции Python.

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

Функция abs() в Python, абсолютное значение числа.

Функция abs() преобразует целое число или число с плавающей запятой в его абсолютное значение.

Функция all() в Python, все элементы True.
Функция any() в Python, хотя бы один элемент True.
Функция ascii() в Python, преобразует строку в ASCII.

Функция ascii() возвращает строку, содержащую печатаемое представление объекта(читаемую версию) с экранированными не-ASCII символами

Функция bin() в Python, число в двоичную строку.

Функция bin() преобразует целое число в двоичную строку с префиксом 0b.

Класс bool() в Python, логическое значение объекта.

Класс bool() возвращает логическое значение указанного объекта.

Функция breakpoint() в Python, отладчик кода.

Функция останова breakpoint() обеспечивает удобство использования отладчика, поскольку нам не нужно явно импортировать pdb модуль, а так же писать дополнительный код, чтобы войти в отладчик.

Класс bytearray() в Python, преобразует в массив байтов.

Класс bytearray() возвращает массив байтов bytearray, который является изменяемой последовательностью целых чисел в диапазоне от 0

Класс bytes() в Python, преобразует в строку байтов.

Класс bytes() возвращает байтовый объект bytes, который является неизменяемой последовательностью целых чисел в диапазоне от 0

Функция callable() в Python, проверяет можно ли вызвать объект.
Функция chr() в Python, число в символ Юникода.
Класс classmethod в Python, делает функцию методом класса.

Делает указанную функцию методом класса. Метод класса может быть вызван либо для класса (например, C.f()), либо для экземпляра (например, C().f()).

Функция compile() компилирует блок кода Python.

Функция compile() возвращает переданный, в качестве аргумента источник, в виде объекта кода, готового к выполнению.

Класс complex() в Python, преобразует в комплексное число.

Класс complex() преобразует строку с записью комплексного числа в комплексное число или вернет комплексное число со значением переданных аргументов: действительной и мнимой частью.

Функция delattr() в Python, удаляет атрибут объекта.

Функция delattr() удаляет из объекта указанный атрибут, если объект позволяет это сделать.

Класс dict() в Python создает словарь.

Класс dict() создаст словарь, инициализированный из необязательного позиционного аргумента и возможно пустого набора ключевых аргументов.

Функция dir() в Python, все атрибуты объекта.

Функция dir(), вызванная без аргумента, возвращает список имен в текущей локальной области, а вызванная с аргументом попытается вернуть список допустимых атрибутов для указанного объекта.

Функция divmod() в Python, делит числа с остатком.

Функция divmod() возвращает кортеж, содержащий частное и остаток. Не поддерживает комплексные числа. Со смешанными типами операндов применяются правила для двоичных арифметических операторов.

Функция enumerate() в Python, счетчик элементов последовательности.

Функция enumerate() возвращает кортеж, содержащий пары (‘счётчик’, ‘элемент’) для элементов указанного объекта.

Функция eval() в Python, выполняет строку-выражение с кодом.

Функция eval() выполняет строку-выражение, переданную ей в качестве обязательного аргумента и возвращает результат выполнения этой строки.

Функция exec() в Python, выполняет блок кода.

Функция exec() поддерживает динамическое выполнение кода Python. Передаваемый в качестве аргумента объект должен быть либо строкой, либо объектом кода.

Функция filter() в Python, фильтрует список по условию.

Функция filter() фильтрует элементы переданного объекта при помощи пользовательской функции. Принимает в качестве аргументов пользовательскую фильтрующую функцию и объект, элементы которого следует отфильтровать.

Класс float() в Python, преобразует в вещественное число.

Класс float() выполняет преобразование переданного числа или строки в число с плавающей запятой (в тип float)

Функция format() в Python, форматирует значение переменной.

Функция format() преобразует переданное значение в отформатированную строку, в соответствии с спецификацией формата Mini-Language

Класс frozenset() в Python, преобразует в неизменяемое множество.

Класс frozenset() преобразует строку или любую последовательность(итерацию) в неизменяемое множество frozenset

Функция getattr() в Python, значение атрибута по имени.

Функция getattr() возвращает значение атрибута указанного объекта по его имени.

Функция globals() в Python, переменные глобальной области.

Функция globals() возвращает словарь со значениями переменных, представляющий текущую глобальную область видимости модуля.

Функция hasattr() в Python, наличие атрибута объекта.

Функция hasattr() проверяет существование атрибута в указанном объекте. Возвращает True, если атрибут с таким именем существует, иначе False.

Функция hash() в Python, хэш-значение объекта.

Функция hash() возвращает хэш-значение объекта, если оно есть.

Функция help() в Python, справка по любому объекту.

Функция help() вызывает встроенную справочную систему. Эта функция предназначена для интерактивного использования.

Функция hex() в Python, число в шестнадцатеричную строку.

Функция hex() преобразует целое число в шестнадцатеричную строку с префиксом 0x.

Функция id() в Python, идентификатор объекта.

Функция id() возвращает уникальный идентификатор для указанного объекта.

Функция input() в Python, ввод данных с клавиатура.

Функция input() позволяет обеспечить ввод пользовательских данных с консоли. Считывает строку данных, полученную с устройства ввода

Класс int() в Python, преобразует в тип int.

Класс int() возвращает целочисленный объект, созданный из числа или строки, или возвращает 0, если аргументы не заданы.

Функция isinstance() в Python, принадлежность экземпляра к классу.

Функция isinstance() вернет True, если проверяемый объект является экземпляром указанного класса (классов), или прямым, косвенным или виртуальным подклассом от него.

Функция issubclass() в Python, проверяет наследование класса.

Функция issubclass() возвращает True, если указанный класс является подклассом (прямым, косвенным или виртуальным) указанного класса (классов).

Функция iter() в Python, создает итератор.

Функция iter() возвращает объект итератора

Функция len() в Python, считает количество элементов.

Функция len() возвращает длину (количество элементов) в объекте. Аргумент может быть последовательностью или коллекцией

Класс list() в Python, преобразовывает в список.

Класс list() создает или преобразует переданный объект, поддерживающий итерирование, в список, изменяемую последовательность с упорядоченными элементами. Элементы в списках упорядочены по очередности их добавления.

Функция locals() в Python, переменные локальной области.

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

Функция map() в Python, обработка последовательности без цикла.

Функция map() выполняет пользовательскую функцию для каждого элемента последовательности, коллекции или итератора.

Функция max() в Python, максимальное значение элемента.

Функция max() вернет наибольшее число из итерируемого объекта или самое большое из двух или более переданных позиционных аргументов

Класс memoryview() в Python, ссылка на буфер обмена.

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

Функция min() в Python, минимальное значение элемента.

Функция min() вернет наименьшее число из итерируемого объекта или самое маленькое из двух или более переданных позиционных аргументов

Функция next() в Python, следующий элемент итератора.

Функция next() возвращает следующий элемент итератора, вызвав его метод __next__().

Класс object() в Python, возвращает безликий объект.

Встроенный класс object() возвращает новый безликий объект и является базой для всех классов.

Функция oct() в Python, число в восьмеричную строку.

Функция oct() преобразует целое число в восьмеричную строку с префиксом 0o.

Функция open() в Python, открывает файл на чтение/запись.
Функция ord() в Python, число символа Unicode.

Функция ord() для символа x вернет число, из таблицы символов Unicode представляющее его позицию. Функция ord() обратная chr().

Функция pow() в Python, возводит число в степень.

Функция pow() возвращает результат возведения числа base в степень exp, с опциональным делением по модулю mod.

Функция print() в Python, печатает объект.

Функцию print() выводит объекты в текстовый поток, отделяя их друг от друга ключевым аргументом sep и заканчивая поток аргументом end.

Класс property() в Python, использует метод класса как свойство.

Класс property() позволяет использовать методы в качестве вычисляемых свойств объектов.

Класс range() в Python, генерирует арифметические последовательности.

Класс range() генерирует арифметические прогрессии чисел с заданным шагом

Функция repr() в Python, описание объекта.

Функция repr() вернет строку, содержащую печатаемое формальное представление объекта.

Функция reversed() в Python, разворачивает последовательность.

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

Функция round() в Python, округляет число.

Функция round() вернет число, округленное до точности ndigits после десятичной точки. Если аргумент ndigits опущен или None, то вернет ближайшее целое число.

Класс set() в Python, создает или преобразовывает в множество.

Класс set() создает или преобразует переданный объект iterable, поддерживающий итерирование, в новое множество set. Если аргумент iterable не указан, будет создано пустое множество.

Функция setattr() в Python, создает атрибут объекта.

Функция setattr() устанавливает значение атрибута указанного объекта по его имени.

Класс slice() в Python, шаблон среза.

Класс slice() вернет срез/часть итерируемого объекта, которая будет следовать шаблону, указанному в аргументах.

Функция sorted() в Python, выполняет сортировку.

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

Декоратор staticmethod() в Python, метод класса в статический метод.

Функция-декоратор staticmethod() преобразует метод класса в статический метод этого класса.

Класс str() в Python, преобразует объект в строку.

Класс str() выполнит преобразование и вернет строковую версию объекта.

Функция sum() в Python, сумма последовательности.

Функция sum(), начинает суммирование элементов последовательности с начального значения start, сложение происходит лева на право и в результате возвращает их сумму.

Функция super() в Python, доступ к унаследованным методам.

Функция super(), возвращает объект объект-посредник, который делегирует вызовы метода родительскому или родственному классу, указанного типа. Это полезно для доступа к унаследованным методам, которые были переопределены в классе.

Класс tuple() в Python, создает или преобразует в кортеж.

Класс tuple() создает новый кортеж из итерируемого объекта, элементы которого идут в том же порядке, что и элементы переданного в качестве аргумента объекта

Класс type() в Python, возвращает тип объекта.

Класс type() с одним аргументом object возвращает тип объекта. Класс type() с тремя аргументами вернет объект нового типа. Это по сути динамическая форма заявления class

Функция vars() в Python, словарь переменных объекта.
Функция zip() в Python, объединить элементы в список кортежей.

Функцию zip() создает итератор кортежей, который объединяет элементы из каждой из переданных последовательностей.

Функция __import__() в Python, находит и импортирует модуль.

Функция __import__() импортирует имя модуля name, потенциально используя данные значений переменных глобальной globals и локальной locals областей видимости, чтобы определить, как интерпретировать имя name в контексте пакета.

Функция aiter() в Python, создает асинхронный итератор.

Функция aiter() возвращает асинхронный итератор для асинхронного итерирования по нему например в async for/in. Эквивалентно вызову x.__aiter__().

Функция anext() в Python, следующий элемент асинхронного итератора.

Функция anext() при ожидании await, возвращает следующий элемент из переданного асинхронного итератора async_iterator или значение по умолчанию default, если оно задано и итератор исчерпан.

Источник

A Guide to Python’s pow() Function

Exponents are superscript numbers that describe how many times you want to multiply a number by itself. Calculating a value raised to the power of another value is a fundamental operation in applied mathematics such as finance, machine learning, statistics, and data science. This tutorial shows you how to do it in Python!

Definition

Examples without mod

Parameters and Syntax

ParameterDescription
expA number that represents the base of the function, whose power is to be calculated.
baseA number that represents the exponent of the function, to which the base will be raised.
modA number with which the modulo will be computed.

Return value: The output of base raised to the power exp and will be a numeric data type, int, float or complex, depending on what you input.

Using the pow() function without the mod argument

Comparison of the two methods

The pow() function accepts all numeric data types, i.e. int, float and even complex numbers. In general the return value will depend on what data types you input. The example above shows that both arguments are type int, therefore, an int type is returned. However, if you were to instead use a float number as one or both of the arguments, the function will automatically return a float type.

Examples using float types

As with float type inputs leading to float outputs, the same reasoning applies to complex numbers. If you enter a complex number as one or both of the arguments, a complex number will be returned.

Example using complex numbers

The return type will also depend on whether your arguments are non-negative or negative, as is shown in the below table.

baseexpReturn type
Non-negativeNon-negativeint
Non-negativeNegativefoat
NegativeNon-negativeint
NegativeNegativefloat

Examples of return values with different input types

Using the pow() function with a mod argument

The process of operations when using the mod argument is as follows:

Examples using mod

The general rule for using the mod argument is that all values must be of integer type, the exp argument must be non-negative and the mod argument must be non-zero. However, Python 3.8 now comes with the functionality of computing modular inverses. In this case, the exp argument may be negative, on the condition that base is relatively prime to mod, i.e, the only common integer divisor of base and mod is 1.

In other words, the function will compute the modular inverse of base and mod first and then that result will be used in the pow() function as base to be computed as normal with the exp argument being converted to its non-negative counterpart.

Example of modular inverse

In this example, the straight modular inverse is calculated because inv_base will be raised to the power 1.

Calculating the nth root of a number using pow()

Examples of calculating nth roots

Note that performing an nth root calculation will always return a float when not using complex numbers. Since Python’s float type works on approximations, it will often return the approximation rather than the exact number, even when an exact answer is possible. This is demonstrated in the second example above.

When calculating the nth root of a negative number, the return value will be a complex number whether an integer number is possible or not.

Examples of calculating nth roots of negative bases

math.pow() Function

Example of using math.pow()

When to use the pow() function vs when to use the ** operator

When deciding between using the pow() function or the ** operator, the most important factor to consider would be the efficiency of your code. We can use the timeit.timeit() function from the timeit module to find out how fast Python executes our code.

Examples of using timeit with simple numbers

When performing a simple power computation, the ** operator appears to be much faster.

Examples using modulo

The same is true even when we include a modulo operation.

However, when we want to perform power operations with very large numbers, the pow() function is much quicker, showing that the power of the pow() function lies in executing longer computations.

Examples using large numbers

Here the pow() function is extremely fast compared to the ** operator. Therefore, we can generalize these findings by saying that when you want to perform short, simple calculations, the ** operator is the better option, however, if your operations involve very large numbers, the pow() function is much more efficient.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *