type(3)
int
Contenus | Capacités attendues | Commentaires |
---|---|---|
Constructions élémentaires | Mettre en évidence un corpus de constructions élémentaires. boucles non bornées, appels de fonction. | Séquences, affectation, conditionnelles, boucles bornées, |
Dans un programme informatique, on manipule des données sur lesquelles on effectue des calculs.
Lorsqu’un langage traite des données, celles-ci sont codées sous forme binaire et le langage doit savoir à quel type de valeur correspond ce codage binaire.
Par exemple, le code binaire 0100 0001
sur un octet peut désigner:
En fonction du type d’objet (ou de donnée), on peut appliquer certaines opérations et d’autres non.
Voici quelques types d’objets simples:
int
: integer en anglais représentent les entiers. ex: 3
float
: floating point en anglais représentent les réels. ex: 3.14
str
: string en anglais représentent les chaînes de caractères. ex: "Bonjour!"
bool
: booleans en anglais représentent les booléens. Il ne peuvent avoir que deux valeurs: True
ou False
(Vrai ou faux)On a parfois besoin de créer une variable vide, on utilise alors la valeur None
qui a pour type NoneType
sans type en anglais.
Pour connaître le type d’un objet on peut utiliser la fonction type()
de Python:
type(3)
int
type(3.14)
float
type("Toto")
str
type(False)
bool
Il est possible de modifier le type d’un objet en utilisant des fonctions Python, en anglais on appelle ça le casting.
str()
str(5)
'5'
Comme vous le voyez la présence de guillemets indique qu’il s’agit d’une chaîne de caractères.
En Python, on peut utiliser indifféremment les simples '
et doubles guillemets "
.
float()
float(5)
5.0
int()
et round()
int(3.95)
3
Comme vous le voyez on a conservé que la partie entière du nombre, mais on n’a pas effectué un arrondi, si on souhaite faire un arrondi il faut utiliser la fonction round
.
round(3.49)
3
round(3.5)
4
Les langages étudiés cette année sont dynamiques, c’est-à-dire que l’on peut changer le type des valeurs et variables. Il n’est de pas nécessaire de déclarer le type de variable avant leur utilisation(typage statique) ce qui rend le programme plus court et simple.
Lorsque l’on combine des objets avec des opérations on crée ce que l’on appelle une expression, si la syntaxe de votre expression est correcte, elle retourne une valeur qui a comme tout objet un type.
La syntaxe est de la forme:
<objet> <opérateur> <objet>
Par exemple:
3 + 2
5
3.0 + 2
5.0
Comme vous le voyez l’expression retourne une valeur dont le type dépend du type de données.
C’est encore plus étonnant avec les chaînes de caractères:
"TO" + "TO"
'TOTO'
"TO" * 2
'TOTO'
Voici les opérations à connaître:
+
-
*
/
//
renvoie la partie entière du quotient de la division. p.ex: 5 // 2 -> 2%
: renvoie le reste de la division entière. p.ex: 5 % 2 -> 1**
Ordre de priorité des opérateurs(dite règle «PEMDAS»):
Parenthèses > Exposants > Multiplication > Division > Addition > Soustraction
On ne peut pas combiner les types n’importe comment en cas d’opération impossible, l’interpréteur Python lève une exception TypeError
.
"python" / 3
TypeError: unsupported operand type(s) for /: 'str' and 'int'