Метод log2() — это одна из математических функций Python, используемая для вычисления логарифмического значения предоставленного числа по основанию 2.
Что такое функция math.log2() в Python?
Python math.log2(x) — это встроенная функция, используемая в Python для получения логарифма любого заданного числа по основанию 2. Функция log2(x) находится в математической библиотеке, поэтому прежде нам нужно импортировать модуль math, чтобы использовать функциюlog2().
Функция Python math.log2() — это библиотечный метод математического модуля, он используется для получения логарифма числа по основанию 2, принимает число и возвращает логарифм по основанию 2 заданного числа.
Синтаксис
|
1 |
math.log2(number) |
Параметры
Функция log2() принимает один аргумент:
- number -> чей логарифм мы хотим найти с основанием 2.
Возвращаемое значение
Функция log2() возвращает логарифм по основанию 2 заданного числа. Но эта функция генерирует исключение ValueError, если какое-либо значение передается в качестве аргумента.
См. следующие сценарии Python log2():
- Если числовой аргумент является положительным числом, функция log2 возвращает результат.
- Если number является отрицательным числом или нулем, функция log2 возвращает значение ValueError.
- Если это не число, функция log2() возвращает TypeError.
Примеры программирования
См. следующий код.
Пример 1
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# Importing math library import math # initializing values # positive value num = 10 print("Logarithm with base 2 of the value ", num, " is: ", math.log2(num)) # Negative number num = -10 print("Logarithm with base 2 of the value ", num, " is: ", math.log2(num)) |
Выход
|
1 2 3 4 5 |
Logarithm with base 2 of the value 10 is: 3.321928094887362 Traceback(most recent call last): File "log2p1.py", line 12, in <module> print("Logarithm with base 2 of the value ",num," is: ",math.log2(num)) ValueError: math domain error |
В этой программе мы сначала инициализировали значение. Мы вычислили логарифм числа по основанию 2, а в следующей строке хотели вычислить логарифм отрицательного числа, но по правилу программа выдала исключение ValueError.
Пример 2
|
1 2 3 4 5 6 7 8 |
# Importing math library import math # taking input from user values # positive value num = int(input("Enter a num to find log2(): ")) print("Logarithm with base 2 of the value ", num, " is: ", math.log2(num)) |
Выход
|
1 2 |
Enter a num to find log(1+a): 10 Logarithm with base 2 of the value 10 is: 3.321928094887362 |
В этой программе мы получили данные от пользователя, а затем вычислили логарифм по основанию 2.
Метод Python log2() более точен, чем math.log(x, 2).
Python log2() со списком и кортежем
Метод Python log2 вычисляет логарифмическое значение заданного числа по основанию 2. В этом примере кода мы проверим логарифмическое значение по основанию 2 с различными типами данных и отобразим результат.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# app.py import math Tup =(11, 21, 30, -46, 52) # Tuple Declaration Lis = [-1, 2, 3.5, -43, -19] # List Declaration print('The log2() value of Positive Number = %.2f' % math.log2(5)) print('The log2() value of Positive Decimal = %.2f' % math.log2(2.5)) print('The log2() value of Tuple Item = %.2f' % math.log2(Tup[2])) print('The log2() value of List Item = %.2f' % math.log2(Lis[2])) print('The log2() value of Multiple Number = %.2f' % math.log2(2 + 7 - 5)) print('The log2() value of String Value = ', math.log2('Python')) |
Выход
|
1 2 3 4 5 6 7 8 9 10 |
python3 app.py The log2() value of Positive Number = 2.32 The log2() value of Positive Decimal = 1.32 The log2() value of Tuple Item = 4.91 The log2() value of List Item = 1.81 The log2() value of Multiple Number = 2.00 Traceback(most recent call last): File "app.py", line 13, in <module> print('The log2() value of String Value = ', math.log2('Python')) TypeError: must be real number, not str |
