Skip to content

En Python, vous pouvez calculer les fonctions puissance et logarithmique avec le module ๐ฆโ€Œ๐šโ€Œ๐ญโ€Œ๐กโ€Œ .

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 ๐ฆโ€Œ๐šโ€Œ๐ญโ€Œ๐กโ€Œ.๐ฉโ€Œ๐จโ€Œ๐ฐโ€Œ() .

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