Bi karanîna matematîkê, modula standard a Python-ê ji bo fonksiyonên matematîkî, hûn dikarin fonksiyonên berbiçav û logarîtmîkî (logarîtma xwezayî, logarîtma asayî, û logarîtma binaryê) hesab bikin.
Ya jêrîn li vir, digel koda nimûneyê, tê rave kirin.
- Bingeha logarîtma xwezayî (hejmara Napier):
math.e
- Erk::
**
makînevan,pow()
,math.pow()
- Koka çargoşe (kok):
math.sqrt()
- Fonksîyona berfirehî (fonksîyona berfirehî ya xwezayî):
math.exp()
- fonksiyonek logarîtmîkî:
math.log()
,math.log10()
,math.log2()
Bingeha logarîtma xwezayî (hejmara Napier):math.e
Bingeha logarîtma xwezayî (hejmara Napier) di modula matematîkê de wekî domdar tê peyda kirin, ku bi math.e tê destnîşan kirin.
import math
print(math.e)
# 2.718281828459045
Hêz: ** operator, pow (), math.pow ():**makînevan,pow(),math.pow()
Ji bo hesabkirina hêzan, operator **, fonksiyona çêkirî ya pow(), an math.pow() bikar bînin.
Y-çargoşeya x bi vî awayî tê bidestxistin
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() argûman diguherîne celebek xala hêlînê. Ji hêla din ve, fonksiyona çêkirî ya Python-ê pow() __pow()__ ji bo her celebê hatî destnîşan kirin bikar tîne.
Mînakî, pow() dihêle ku celebên tevlihev wekî arguman bêne destnîşan kirin, lê math.pow() nikare celebên tevlihev veguherîne celebên float, di encamê de xeletiyek çêdibe.
print(pow(1 + 1j, 2))
# 2j
# print(math.pow(1 + 1j, 2))
# TypeError: can't convert complex to float
Fonksiyona çêkirî ya Python pow() jî rê dide argumanek sêyemîn, pow(x, y, z), ku mayî (mayîna) z vedigerîne hêza y ya x. Ew heman hesab e wekî pow(x, y) % z, lê pow(x, y, z) bikêrtir e.
print(pow(2, 4, 5))
# 1
Koka çargoşe (kok):math.sqrt()
Koka çargoşe (root) dikare bi ** 0,5 bi kar ** an math.sqrt() were danîn.
print(2**0.5)
# 1.4142135623730951
print(math.sqrt(2))
# 1.4142135623730951
print(2**0.5 == math.sqrt(2))
# True
Mîna math.pow(), math.sqrt() argûmanan ji bo pêvajoyê vediguherîne celebên xala herikînê, ji ber vê yekê diyarkirina celebek ku nekare veguhezîne celebek float dê bibe sedema TypeError.
print((-3 + 4j)**0.5)
# (1.0000000000000002+2j)
# print(math.sqrt(-3 + 4j))
# TypeError: can't convert complex to float
Di heman demê de, math.sqrt() nikare nirxên neyînî pêvajoyê bike, di encamê de ValueError derdikeve.
print((-1)**0.5)
# (6.123233995736766e-17+1j)
# print(math.sqrt(-1))
# ValueError: math domain error
Bala xwe bidinê ku dema ku bi hejmarên tevlihev re mijûl dibin, mînaka ku operatorê ** bikar tîne xeletiyek nîşan dide, lê modula cmath nirxek rasttir peyda dike. Nirxên negatîf jî dikarin werin destgirtin.
import cmath
print(cmath.sqrt(-3 + 4j))
# (1+2j)
print(cmath.sqrt(-1))
# 1j
Fonksîyona berfirehî (fonksîyona berfirehî ya xwezayî):math.exp()
Ji bo hesabkirina hêza bingeha logarîtma xwezayî (hejmara Napier) e, math.exp() bikar bînin.
math.exp(x) x çargoşeya e vedigerîne.
math.exp(x) ne hevwateya “math.e ** x” e û math.exp(x) rasttir e.
print(math.exp(2))
# 7.38905609893065
print(math.exp(2) == math.e**2)
# False
fonksiyonek logarîtmîkî:math.log(),math.log10(),math.log2()
Ji bo hesabkirina fonksiyona logarîtmîkî, math.log(),math.log10(),math.log2() bikar bînin.
math.log(x, y) logarîtma x ya ku y wek bingeh vedigerîne.
print(math.log(25, 5))
# 2.0
Ger argûmana duyemîn ji holê rabe, logarîtmaya xwezayî li jêr tê xuyang kirin.
logarîtma
Di matematîkê de, logarîtma xwezayî (logarîtma ku jimara Napier e wek bingeh e), ku bi log an ln tê temsîl kirin, dikare bi math.log(x) were hesibandin.
print(math.log(math.e))
# 1.0
logarîtma (bingeh 10)
Logarîtma asayî (logarîtma bi bingeha 10) dikare bi math.log10(x) were hesibandin, ku ji math.log(x, 10) rasttir e.
print(math.log10(100000))
# 5.0
logarîtma binary
Logarîtma binary (logarîtma bi bingeha 2) dikare bi math.log2(x) were hesibandin, ku ji math.log(x, 2) rasttir e.
print(math.log2(1024))
# 10.0