> Les bases > Le langage > Types des variables
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