Mis a jour le 2025-04-14, 12:10

Types des variables

Une variable sans valeur est définie par : myVar = None (None est l'équivalent de null dans d'autres langages).
Valeurs qui sont considérées comme fausses : False, None, 0, '', [], (), {}
Types primitifs :
  • bool : booléen (True ou False)
  • int : entier.
  • float : nombre flottant qui a la précision d'un double.
  • str : chaîne de caractère (string).
Pour avoir l'entier de taille maximum : sys.maxint
Pour avoir les flottants minimum (; 0) et maximum :
  • sys.float_info.min
  • sys.float_info.max
conversion de n'importe quoi en string : avec `` ou repr() :
x = 10
s = 'valeur = ' + `x`
s = 'valeur = ' + repr(x)
  
Conversion d'une string en int ou float :
  • x = int('2')
  • déclenche une ValueError si ce n'est pas le bon type.
Conversions :
  • float(3) : convertit l'int en float.
  • int(3.0) : convertit le float en int.
  • int(3.6) : convertit le float en int, en donnant ici 3.
Examen du type d'une variable :
  • type(var) : renvoie le type de la variable, par exemple <type 'int'> ou <type 'list'>
  • pour tester le type d'une variable, on peut faire : type(var) == list (ou str ou int ou float)
  • mais pour tester le type d'une variable, le mieux est isinstance(var, list).
  • isinstance donne True si on teste si un objet contre sa classe, mais aussi contre ses classes de base.
Pour détruire une variable : del v
Pour avoir la mémoire occupée par un objet :
  • sys.getsizeof(myObj)
  • ca appelle myObj.__sizeof__ en rajoutant éventuellement un overhead du au garbage collector.
  • attention, ca ne compte que la mémoire utilisée par l'objet, pas celle utilisée par les objets qui sont référencés dedans.
Pour avoir le nombre de références qui pointe vers une variable :
  • sys.getrefcount(['abc']) : renvoie 1
  • x = ['abc']; print(sys.getrefcount(x)) : renvoie 2, car il y a aussi la référence reçue par l'appel de la fonction elle-même.
  • avec les constantes (notamment entier ou chaînes), on a souvent beaucoup de références car python stocke des références internes vers certaines valeurs.

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert