En Python, vous pouvez calculer les fonctions puissance et logarithmique avec le module ๐ฆโ๐โ๐ญโ๐กโ .
- Nombre d’Euler (constante de Napier) : ๐ฆโ๐โ๐ญโ๐กโ.๐โ
- Exponentiation : ** , ๐ฉโ๐จโ๐ฐโ() , ๐ฆโ๐โ๐ญโ๐กโ.๐ฉโ๐จโ๐ฐโ()
- Racine carrรฉe : ๐ฆโ๐โ๐ญโ๐กโ.๐ฌโ๐ชโ๐ซโ๐ญโ()
- Fonctions exponentielles naturelles : ๐ฆโ๐โ๐ญโ๐กโ.๐โ๐ฑโ๐ฉโ()
- Fonctions logarithmiques : ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ() , ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ10() , ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ2()
Tous les exemples de code de cet article supposent que le module ๐ฆโ๐โ๐ญโ๐กโ a รฉtรฉ importรฉ.
import math
Nombre d’Euler (constante de Napier) : ๐ฆโ๐โ๐ญโ๐กโ.๐โ
Le nombre d’Euler, รฉgalement connu sous le nom de constante de Napier, est fourni sous forme de constante dans le module ๐ฆโ๐โ๐ญโ๐กโ et est reprรฉsentรฉ par ๐ฆโ๐โ๐ญโ๐กโ.๐โ .
print(math.e) # 2.718281828459045
Exponentiation : ** , ๐ฉโ๐จโ๐ฐโ() , ๐ฆโ๐โ๐ญโ๐กโ.๐ฉโ๐จโ๐ฐโ()
Pour calculer l’exponentiation, utilisez l’opรฉrateur ** , la fonction intรฉgrรฉe ๐ฉโ๐จโ๐ฐโ() ou la fonction ๐ฆโ๐โ๐ญโ๐กโ.๐ฉโ๐จโ๐ฐโ() .
- Fonctions intรฉgrรฉes – pow() โ Documentation Python 3.11.2
- math.pow() โ Fonctions mathรฉmatiques โ Documentation Python 3.11.4
La puissance ๐ฒโ de ๐ฑโ peut รชtre obtenue par ๐ฑโ**๐ฒโ , ๐ฉโ๐จโ๐ฐโ(๐ฑโ, ๐ฒโ) ou ๐ฆโ๐โ๐ญโ๐กโ.๐ฉโ๐จโ๐ฐโ(๐ฑโ, ๐ฒโ) .
print(2**4) # 16 print(pow(2, 4)) # 16 print(math.pow(2, 4)) # 16.0
Alors que ๐ฆโ๐โ๐ญโ๐กโ.๐ฉโ๐จโ๐ฐโ() convertit ses arguments en valeurs ๐โ๐ฅโ๐จโ๐โ๐ญโ , ๐ฉโ๐จโ๐ฐโ() s’appuie sur la mรฉthode __๐ฉโ๐จโ๐ฐโ__() dรฉfinie pour chaque type de donnรฉes.
Par exemple, alors que ๐ฉโ๐จโ๐ฐโ() accepte ๐โ๐จโ๐ฆโ๐ฉโ๐ฅโ๐โ๐ฑโ , ๐ฆโ๐โ๐ญโ๐กโ.๐ฉโ๐จโ๐ฐโ() renvoyer une erreur car elle ne peut pas convertir ๐โ๐จโ๐ฆโ๐ฉโ๐ฅโ๐โ๐ฑโ fr ๐โ๐ฅโ๐จโ๐โ๐ญโ .
print(pow(1 + 1j, 2)) # 2j # print(math.pow(1 + 1j, 2)) # TypeError: must be real number, not complex
Vous pouvez รฉgalement fournir un troisiรจme argument ร ๐ฉโ๐จโ๐ฐโ() . Bien que ๐ฉโ๐จโ๐ฐโ(๐ฑโ, ๐ฒโ, ๐ณโ) donne le reste lorsque ๐ฑโ รฉlevรฉ ร ๐ฒโ est divisรฉ par ๐ณโ , il est plus efficace que ๐ฉโ๐จโ๐ฐโ(๐ฑโ, ๐ฒโ) % ๐ณโ .
print(pow(2, 4, 5)) # 1
Racine carrรฉe : ๐ฆโ๐โ๐ญโ๐กโ.๐ฌโ๐ชโ๐ซโ๐ญโ()
Pour calculer la racine carrรฉe, utilisez l’opรฉrateur ** (comme dans ๐ฑโ**0,5 ) ou la fonction ๐ฆโ๐โ๐ญโ๐กโ.๐ฌโ๐ชโ๐ซโ๐ญโ() .
print(2**0.5) # 1.4142135623730951 print(math.sqrt(2)) # 1.4142135623730951 print(2**0.5 == math.sqrt(2)) # True
Comme ๐ฆโ๐โ๐ญโ๐กโ.๐ฉโ๐จโ๐ฐโ() , ๐ฆโ๐โ๐ญโ๐กโ.๐ฌโ๐ชโ๐ซโ๐ญโ() convertit les arguments en ๐โ๐ฅโ๐จโ๐โ๐ญโ . Si vous fournissez un argument d’un type de donnรฉes qui ne peut pas รชtre converti en ๐โ๐ฅโ๐จโ๐โ๐ญโ , un T๐ฒโ๐ฉโ๐โE๐ซโ๐ซโ๐จโ๐ซโ sera gรฉnรฉrรฉ.
print((-3 + 4j) ** 0.5) # (1.0000000000000002+2j) # print(math.sqrt(-3 + 4j)) # TypeError: must be real number, not complex
De plus, ๐ฆโ๐โ๐ญโ๐กโ.๐ฌโ๐ชโ๐ซโ๐ญโ() ne peut pas traiter les valeurs nรฉgatives, ce qui entraรฎne un V๐โ๐ฅโ๐ฎโ๐โE๐ซโ๐ซโ๐จโ๐ซโ .
print((-1) ** 0.5) # (6.123233995736766e-17+1j) # print(math.sqrt(-1)) # ValueError: math domain error
L’opรฉrateur ** peut รชtre inexact avec les nombres complexes. Pour plus de prรฉcision, utilisez le module ๐โ๐ฆโ๐โ๐ญโ๐กโ .
import cmath print(cmath.sqrt(-3 + 4j)) # (1+2j) print(cmath.sqrt(-1)) # 1j
Fonctions exponentielles naturelles : ๐ฆโ๐โ๐ญโ๐กโ.๐โ๐ฑโ๐ฉโ()
Pour calculer l’exponentiation en utilisant le nombre d’Euler, la base du logarithme naturel, utilisez la fonction ๐ฆโ๐โ๐ญโ๐กโ.๐โ๐ฑโ๐ฉโ() .
๐ฆโ๐โ๐ญโ๐กโ.๐โ๐ฑโ๐ฉโ(๐ฑโ) retour ๐โ ร la puissance ๐ฑโ . ๐ฆโ๐โ๐ญโ๐กโ.๐โ๐ฑโ๐ฉโ(๐ฑโ) fournit une valeur plus prรฉcise que l’utilisation de ๐ฆโ๐โ๐ญโ๐กโ.๐โ ** ๐ฑโ .
print(math.exp(2)) # 7.38905609893065 print(math.exp(2) == math.e**2) # False
Fonctions logarithmiques : ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ() , ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ10() , ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ2()
Pour calculer des fonctions logarithmiques, utilisez les fonctions ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ() , ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ10() et ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ2() .
๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ(๐ฑโ, ๐ฒโ) renvoie le logarithme de ๐ฑโ avec ๐ฒโ comme base.
print(math.log(25, 5)) # 2.0
Si le deuxiรจme argument est omis, la fonction calcule par dรฉfaut le logarithme naturel, comme illustrรฉ ci-dessous.
Logarithme naturel
Le logarithme naturel, qui utilise une base de e et est reprรฉsentรฉ en mathรฉmatiques par ยซ log ยป ou ยซ ln ยป, peut รชtre calculรฉ ร l’aide de ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ(๐ฑโ) .
print(math.log(math.e)) # 1.0
Logarithme dรฉcimal
Le logarithme dรฉcimal, qui utilise une base de 10, peut รชtre calculรฉ avec ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ(๐ฑโ) . Cela donne une valeur plus prรฉcise que ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ(๐ฑโ, 10) .
print(math.log10(100000)) # 5.0
Logarithme binaire
Le logarithme binaire, qui utilise une base de 2, peut รชtre calculรฉ avec ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ(๐ฑโ) . Cela donne une valeur plus prรฉcise que ๐ฆโ๐โ๐ญโ๐กโ.๐ฅโ๐จโ๐ โ(๐ฑโ, 2) .
print(math.log2(1024)) # 10.0
