Math, Python-ның математикалық функцияларға арналған стандартты модулін пайдалана отырып, көрсеткіштік және логарифмдік функцияларды (натурал логарифм, қарапайым логарифм және екілік логарифм) есептей аласыз.
Төменде үлгі кодымен бірге мұнда түсіндіріледі.
- Натурал логарифмнің негізі (Напье саны):
math.e
- Қуат::
**
оператор,pow()
,math.pow()
- Шаршы түбір (түбір):
math.sqrt()
- Көрсеткіштік функция (табиғи көрсеткіштік функция):
math.exp()
- логарифмдік функция:
math.log()
,math.log10()
,math.log2()
Натурал логарифмнің негізі (Напье саны):math.e
Натурал логарифмнің негізі (Napier саны) математикалық модульде тұрақты ретінде берілген, math.e деп белгіленеді.
import math
print(math.e)
# 2.718281828459045
Қуат: ** оператор, pow(), math.pow():**оператор,pow(),math.pow()
Қуатты есептеу үшін ** операторын, кірістірілген pow() функциясын немесе math.pow() пайдаланыңыз.
х-тің у-квадраты келесі түрде алынады
x**y
pow(x, y)
math.pow(x, y)
print(2**4)
# 16
print(pow(2, 4))
# 16
print(math.pow(2, 4))
# 16.0
math.pow() аргументті өзгермелі нүкте түріне түрлендіреді. Екінші жағынан, Python-ның кірістірілген функциясы pow() әрбір түр үшін анықталған __pow()__ пайдаланады.
Мысалы, pow() күрделі түрлерді аргументтер ретінде көрсетуге мүмкіндік береді, бірақ math.pow() күрделі түрлерді қалқымалы түрлерге түрлендіре алмайды, нәтижесінде қате пайда болады.
print(pow(1 + 1j, 2))
# 2j
# print(math.pow(1 + 1j, 2))
# TypeError: can't convert complex to float
Python кіріктірілген pow() функциясы сонымен қатар z-дің қалдығын (қалдығын) x-тің у-дәрежесіне қайтаратын үшінші аргументке, pow(x, y, z) мүмкіндік береді. Бұл pow(x, y) % z есептеуімен бірдей, бірақ pow(x, y, z) тиімдірек.
print(pow(2, 4, 5))
# 1
Шаршы түбір (түбір):math.sqrt()
Шаршы түбірді (түбір) ** немесе math.sqrt() арқылы **0,5 мәніне орнатуға болады.
print(2**0.5)
# 1.4142135623730951
print(math.sqrt(2))
# 1.4142135623730951
print(2**0.5 == math.sqrt(2))
# True
math.pow() сияқты math.sqrt() өңдеу үшін аргументтерді өзгермелі нүкте түрлеріне түрлендіреді, сондықтан қалқымалы түрге түрлендіруге болмайтын түрді көрсету TypeError нәтижесіне әкеледі.
print((-3 + 4j)**0.5)
# (1.0000000000000002+2j)
# print(math.sqrt(-3 + 4j))
# TypeError: can't convert complex to float
Сондай-ақ, math.sqrt() теріс мәндерді өңдей алмайды, нәтижесінде ValueError.
print((-1)**0.5)
# (6.123233995736766e-17+1j)
# print(math.sqrt(-1))
# ValueError: math domain error
Күрделі сандармен жұмыс істегенде ** операторын пайдаланатын мысал қатені көрсететінін, бірақ cmath модулі дәлірек мән беретінін ескеріңіз. Теріс мәндерді де өңдеуге болады.
import cmath
print(cmath.sqrt(-3 + 4j))
# (1+2j)
print(cmath.sqrt(-1))
# 1j
Көрсеткіштік функция (табиғи көрсеткіштік функция):math.exp()
Табиғи логарифм негізінің қуатын есептеу үшін (Napier саны) e, math.exp() пайдаланыңыз.
math.exp(x) e санының x квадратын қайтарады.
math.exp(x) «math.e ** x» тең емес және math.exp(x) дәлірек.
print(math.exp(2))
# 7.38905609893065
print(math.exp(2) == math.e**2)
# False
логарифмдік функция:math.log(),math.log10(),math.log2()
Логарифмдік функцияны есептеу үшін math.log(),math.log10(),math.log2() пайдаланыңыз.
math.log(x, y) негізі y болатын x санының логарифмін қайтарады.
print(math.log(25, 5))
# 2.0
Екінші аргумент түсірілсе, натурал логарифм төменде көрсетілген.
логарифм
Математикада log немесе ln арқылы берілген натурал логарифмді (негізі Napier саны e болатын логарифм) math.log(x) арқылы есептеуге болады.
print(math.log(math.e))
# 1.0
логарифм (10 негізі)
Қарапайым логарифмді (10 негізі бар логарифм) math.log(x, 10) қарағанда дәлірек math.log10(x) арқылы есептеуге болады.
print(math.log10(100000))
# 5.0
екілік логарифм
Екілік логарифмді (2 негізі бар логарифм) math.log2(x) көмегімен есептеуге болады, ол math.log(x, 2) қарағанда дәлірек.
print(math.log2(1024))
# 10.0