Shopy 101
← Types İndirmek için giriş yap
Instructions répétitives Instructions répétitives
Numériques Numériques
Partie 1 - Introduction
  1. Avant-propos à l'attention des non-programmeurs Une version complète existe
  2. Introduction Une version complète existe
  3. Installation Une version complète existe
  4. Éditeurs Une version complète existe
  5. Programmer en deux minutes Une version complète existe
Partie 2 - Le langage
  1. Afficher un texte Une version complète existe
  2. Structure d'un programme Une version complète existe
  3. Variables Une version complète existe
  4. Opérateurs Une version complète existe
  5. Structures de contrôle Une version complète existe
  6. Instructions répétitives Une version complète existe
  7. Types Une version complète existe
  8. Fonctions Une version complète existe
  9. Modules Une version complète existe
  10. Exercices Une version complète existe
  11. Regex Une version complète existe
  12. Programmation orientée objet pour les non-programmeurs Une version complète existe
  13. Classes Une version complète existe
  14. Classes et Interfaces graphiques Une version complète existe
  15. Fichiers Une version complète existe
  16. Exceptions Une version complète existe
  17. Bases de données  </span>%"}'>Fait à environ 50 %
  18. L'interface CGI En cours
  19. Applications web En cours de finition
  20. Réseau En cours
  21. Threads  </span>%"}'>Fait à environ 50 %
Partie 3 - Les bibliothèques
  1. Bibliothèques pour Python En cours
  2. L'interface graphique En cours
  3. Utilisation de fenêtres et de graphismes En cours de finition
  4. Les threads En cours
  5. XML  </span>%"}'>Fait à environ 50 %
  6. JSON  </span>%"}'>Fait à environ 50 %
  7. Tests En cours
  8. Analyse statique de programmes En cours
  9. Fabric En cours
  10. Le Web
Wikilivres connexes
Partie 1 - Introduction
  1. Avant-propos à l'attention des non-programmeurs Une version complète existe
  2. Introduction Une version complète existe
  3. Installation Une version complète existe
  4. Éditeurs Une version complète existe
  5. Programmer en deux minutes Une version complète existe
Partie 2 - Le langage
  1. Afficher un texte Une version complète existe
  2. Structure d'un programme Une version complète existe
  3. Variables Une version complète existe
  4. Opérateurs Une version complète existe
  5. Structures de contrôle Une version complète existe
  6. Instructions répétitives Une version complète existe
  7. Types Une version complète existe
  8. Fonctions Une version complète existe
  9. Modules Une version complète existe
  10. Exercices Une version complète existe
  11. Regex Une version complète existe
  12. Programmation orientée objet pour les non-programmeurs Une version complète existe
  13. Classes Une version complète existe
  14. Classes et Interfaces graphiques Une version complète existe
  15. Fichiers Une version complète existe
  16. Exceptions Une version complète existe
  17. Bases de données  </span>%"}'>Fait à environ 50 %
  18. L'interface CGI En cours
  19. Applications web En cours de finition
  20. Réseau En cours
  21. Threads  </span>%"}'>Fait à environ 50 %
Partie 3 - Les bibliothèques
  1. Bibliothèques pour Python En cours
  2. L'interface graphique En cours
  3. Utilisation de fenêtres et de graphismes En cours de finition
  4. Les threads En cours
  5. XML  </span>%"}'>Fait à environ 50 %
  6. JSON  </span>%"}'>Fait à environ 50 %
  7. Tests En cours
  8. Analyse statique de programmes En cours
  9. Fabric En cours
  10. Le Web
Wikilivres connexes

Typage des variables

Début d’un principe
Pour les non-programmeurs

Pour distinguer les uns des autres ces divers contenus possibles des variables, le langage de programmation fait usage de différents types de données (ex : le type 'entier', le type 'réel', le type 'chaîne de caractères', le type 'liste', etc.).

Fin du principe

Python est un langage à typage dynamique. Cela signifie que bien que gérant différents types, lorsqu'une variable est affectée, l'interpréteur trouvera automatiquement son type sans que l'utilisateur soit contraint de le préciser. Ceci constitue une particularité intéressante de Python, qui le rattache à une famille particulière de langages où l'on trouve aussi par exemple Lisp, Scheme, et quelques autres.

Par opposition, le typage statique est préférable dans le cas des langages compilés comme C++ et Java, parce qu'il permet d'optimiser l'opération de compilation (dont le résultat est un code binaire « figé »). Dans ces langages, il faut toujours - par des instructions distinctes - d'abord déclarer (définir) le nom et le type des variables, et ensuite seulement leur assigner un contenu, lequel doit bien entendu être compatible avec le type déclaré.

Le typage dynamique quant à lui permet d'écrire plus aisément des constructions logiques de niveau élevé (métaprogrammation, réflexivité), en particulier dans le contexte de la programmation orientée objet (polymorphisme). Il facilite également l'utilisation de structures de données très riches telles que les listes et les dictionnaires.


Types natifs

Liste des types
int Nombre entier optimisé
long Nombre entier de taille arbitraire
float Nombre à virgule flottante
complex Nombre complexe
str Chaîne de caractère
unicode Chaîne de caractère unicode
tuple Liste de longueur fixe
list Liste de longueur variable
dict dictionnaire
file Fichier
bool Booléen
NoneType Absence de type
NotImplementedType Absence d'implementation
function fonction
module module
Tableau 2 : Liste des types prédéfinis en Python
Tableau des types Python 3.x ayant changé de nom depuis 2.x
nom description équivalent 2.x
int nombre entier de longueur arbitraire long
byte chaîne de caractères ASCII str
str chaîne de caractères Unicode unicode

Détermination d'un type

La fonction type() permet de connaître le type d'une variable.

\n>>> a=3\n>>> type(a)\n<type 'int'>\n</pre>\n"}},"i":0}}]}'>
>> a=3\n>>> type(a)\n<type 'int'>\n"}}'>>>> a=3
>>> type(a)
<type 'int'>
Exemple 1 : utilisation de la fonction type

Conversion des types

Il existe plusieurs fonctions qui permettent de forcer le type d'une variable en un autre type.

  • bool() : convertit en booléen : "0", "" et "None" donnent "False" et le reste "True".
  • int() : permet de modifier une variable en entier. Provoque une erreur si cela n'est pas possible.
  • long() : transforme une valeur en long.
  • str() : permet de transformer la plupart des variables d'un autre type en chaînes de caractère.
  • float() : permet la transformation en flottant.
  • repr() : similaire à "str". Voir la partie sur les objets
  • eval() : évalue le contenu de son argument comme si c'était du code Python.
  • split() : sépare une chaine en liste.
  • join() : transforme une liste en chaine, dont le séparateur est en préfixe (" ".join(MaListe)).
  • datetime.strptime('20170727222900', '%Y%m%d%H%M%S') : change une chaine en date.
  • maDate.strftime('%Y%m%d%H%M%S') : change une date en chaine.