Synthèse des différents types de variables disponibles dans le langage Python (et donc de la librairie Pyduino) et leurs caractéristiques.
L'intérêt des différents types de données est essentiellement de limiter l'utilisation de la mémoire à ce qui est nécessaire (pas la peine d'utiliser 4 octets pour une valeur qui peut tenir dans 1...) Lorsque l'on commence à programmer, la notion de type de variable est quelque chose de plus ou moins obscur... Un des grands avantages du langage Python est que ce langage gère automatiquement le type des variables pour vous : nous n'avez pas à vous en occuper !! C'est une des grandes différences avec le langage C/C++ et donc Arduino, où il faut préciser à chaque fois quel type de variable utiliser.
Ceci étant, en Python, il est également possible de préciser le type ou de "caster" une variable dans un type précis, mais cela reste réservé à quelques situations précises que vous apprendrez au fur et à mesure. Voici sur cette page le détail des types de variables en Python
Les types de variables numériques en langage Python : plus simple qu'en C et qu'en langage Arduino !
Voir les pages dédiées pour plus de détail sur chaque type de donnée du langage Pyduino.
Type | Taille en mémoire | Type de données | signe | Valeurs min/max |
---|---|---|---|---|
bool | Basée sur le type int | Valeur True/False | Non signé | 0/1 |
int | 4 octet (32 bits) | Valeur entière | signée | -2 147 483 648 / +2 147 483 647 |
long | 8 octet (64 bits) | Valeur entière | signée | - 9 223 372 036 854 775 808 / + 9 223 372 036 854 775 807 |
float | 8 octet (64 bits) | Valeur à virgule | signée | 1.7976931348623157e+308 / 2.2250738585072014e-308 |
Les chaînes de caractères : la classe str |
Remarquer que :
- le nombre de types numériques est réduit à l'essentiel et est plus simple à maîtriser qu'avec Arduino !
- le int Python correspond au long C/Arduino,
- qu'il n'y a pas de variables non signées en Python
- et que la précision des float est énorme... !
Pour mémoire : les types en langage C et Arduino :
Je rappelle à titre indicatif les types de variables numériques disponibles en langage Arduino :
Type | Taille en mémoire | Type de données | signe | Valeurs min/max |
---|---|---|---|---|
Valeurs binaires | ||||
boolean | 1 octet (8 bits) | Valeur binaire 1/0 | non signée | 0/1 |
Valeurs numériques entières signées | ||||
int | 2 octet (16 bits) | Valeur entière | signée | -32 768 / +32 767 |
long | 4 octet (32 bits) | Valeur entière | signée | -2 147 483 648 / +2 147 483 647 |
Valeurs numériques entières non signées | ||||
byte | 1 octet (8 bits) | Valeur entière | non signée | 0 / +255 |
unsigned int | 2 octet (16 bits) | Valeur entière | non signée | 0 / +65535 |
word | 2 octet (16 bits) | Valeur entière | non signée | 0 / +65535 |
unsigned long | 4 octet (32 bits) | Valeur entière | non signée | 0/ +4 294 967 295 |
Valeurs numériques à virgule | ||||
float | 4 octet (32 bits) | Valeur à virgule | signée | -3.4028235E+38 / +3.4028235E+38 |
double | 4 octet (32 bits) | Valeur à virgule | signée | -3.4028235E+38 / +3.4028235E+38 |
Caractères | ||||
char | 1 octet (8 bits) | Valeur entière - Code ASCII | signée | -128 / +127 |
Les chaînes de caractères |