Tutoriel de float ( )
DESCRIPTION.
Crée un objet numérique contenant un nombre réel, dit à virgule flottante.
SYNTAXE.
Reel = nombre
Reel = ⇨ Nom de la variable [ OBLIGATOIRE ]
nombre ⇨ valeur numérique réelle [ OBLIGATOIRE ]
Reel = float ( nombre )
Reel = ⇨ Nom de la variable [ OBLIGATOIRE ]
float ( ) ⇨ appel du constructeur de classe [ OBLIGATOIRE ]
nombre ⇨ valeur numérique réelle [ optionnel ]
NOTES.
Python gère, nativement, trois types de valeurs numériques, les nombres entiers (int ( )), les nombres réels, dits à virgule flotante (float ( )) et les nombres complexes (complex ( )).
Un point important, à ne pas oublier, est que, pour Python, les valeurs numériques, quelque soit leur type, sont des objets, et que les instances définies à l'aide des constructeurs de classes int ( ), float ( ) ou complex ( ) ne font que pointer vers l'un de ces objets.
Un nombre réel, pour Python, est une valeur numérique positive ou négative, possédant une partie décimale, introduite par un point, et pouvant être aussi exprimé à l'aide d'une puissance de 10, introduite par la lettre e ou E. Il s'agit d'une représentation la plus fidèle et la plus précise possible d'un nombre réel, issue d'une fraction de type x / y.
Particularité. Il est préconisé, pour l'utilisation de float ( ) dans des expressions à évaluer, de tester la valeur absolue, de la différence entre deux float ( ), et une valeur fixe, dite de précision dite de précision, en particulier avec l'utilisation de variables calculées comparées et des valeurs fixes. Par exemple :
A = 1.1 + 2.2
A == 3.3 retourne False
abs ( A - 3.3 ) < .01 retourne True
abs ( 3.3 - A ) < .01 retourne True
A et 3.3 sont deux objets différents pour Python, qui retourne donc False s'il doit les évaluer. Evaluer la différence des deux valeurs numériques de ces objets, avec une valeur de référence permet de constater que ces deux valeurs sont proches l'une de l'autre et peuvent donc être considérées comme égales.
CRÉER UN NOMBRE REEL.
Pour créer une variable numérique réelle, dite à virgule flottante, il suffit de lui affecter une valeur. Cette valeur doit comporter, obligatoirement :
- une partie décimale, même nulle, introduite par une point, ou ;
- être exprimée avec un élévation à la puissance de 10, introduite par la lettre e ou E ;
pour la différencier des nombres entiers de type int ( ).
Valeur = 1000.0
print ( Valeur ) retourne 1000.0
print ( type ( Valeur ) ) retourne <class 'float'>
Valeur = -1000.0
print ( Valeur ) retourne -1000.0
print ( type ( Valeur ) ) retourne <class 'float'>
Valeur = 10e2
print ( Valeur ) retourne 1000.0
print ( type ( Valeur ) ) retourne <class 'float'>
Valeur = 10E2
print ( Valeur ) retourne 1000.0
print ( type ( Valeur ) ) retourne <class 'float'>
Si la partie entière, à gauche du point, est égale à 0 (zéro), celle-ci peut être omise.
Valeur = .123
print ( Valeur ) retourne 0.123
print ( type ( Valeur ) ) retourne <class 'float'>
L'expression de la puissance de 10 peut, bien sur, être négative.
Valeur = 123e-3
print ( Valeur ) retourne 0.123
print ( type ( Valeur ) ) retourne <class 'float'>
La valeur peut cependant prendre plusieurs formes, il suffit que l'expression utilisée possède ou moins un float ( ) ou que sont évaluation retourne un float ( ).
print ( 10 + 3.0 , type ( 10 + 3.0 ) ) retourne 13.0 <class 'float'>
print ( 1e1 - 3 , type ( 1e1 - 3 ) ) retourne 7.0 <class 'float'>
print ( 10 / 3 , type ( 10 / 3 ) ) retourne 3.3333333333333335 <class 'float'>
La création d'un nombre réel est aussi possible avec le constructeur de classe float ( ). Dans ce cas, on peut utiliser un int ( ) comme arguent pour créer le float ( ).
Valeur = float ( 100 )
print ( Valeur ) retourne 100.0
print ( type ( Valeur ) ) retourne <class 'float'>
Sans valeur spécifiée, le constructeur de classe float ( ), affecte 0.0 par défaut à l'instance créée.
Valeur = float ( )
print ( Valeur ) retourne 0.0
print ( type ( Valeur ) ) retourne <class 'float'>
Il est possible de créer une instance d'un nombre réel depuis une chaine de caractères (str ( )) en utilisant le constructeur de classe float ( ).
Valeur = float ( "100" )
print ( Valeur ) retourne 100.0
print ( type ( Valeur ) ) retourne <class 'float'>
Chaine = "100"
Valeur = int ( Chaine )
print ( Chaine ) retourne '100'
print ( Valeur ) retourne 100.0
print ( type ( Chaine ) ) retourne <class 'str'>
print ( type ( Valeur ) ) retourne <class 'float'>
Mais la chaine de caractères doit être compatible avec la conversion demandée.
Valeur = float ( "abc" ) retourne ValueError: could not convert string to float: 'abc'
Valeur = float ( "7,3" ) retourne ValueError: could not convert string to float: '7,3'
Valeur = float ( "7.3" ) retourne 7.3
Valeur = float ( "7e3" ) retourne 7000.0
Valeur = float ( "7 + 3" ) retourne ValueError: could not convert string to float: '7 + 3'
Contrairement aux int ( ), la classe float ( ) n'accepte que des valeurs décimales. Il n'est donc pas possible de modifier la base numérique d'une valeur lors de la création.
print ( float ( "100" , 5 ) ) retourne float expected at most 1 arguments, got 2
MÉTHODES SPÉCIFIQUES AUX OBJETS FLOAT ( ).
as_integer_ratio ( ) : Retourne le ratio intégral d'un réel.
fromhex ( ) : Retourne un réel depuis sa forme hexadécimale.
hex ( ) : Retourne la représentation hexadécimale d'un réel.
is_integer ( ) : Teste si la partie décimal d'un réel est 0 (zéro).
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la LOGITHEQUE de MON PYTHON PAS A PAS
vous trouvez des suggestions de projets simples et classiques pour
ooo
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
ooo
la programmation récréative avec le langage PYTHON 3
avec un exemple de résolution à télécharger pour vous inspirer.