4 Expressions
a=b+ 1
Pour évaluer
1789 + 1
, Python construit un
nouvel objet, y met le résultat et retourne
son adresse. L’évaluation d’une expression
peut créer de nouveaux objets.
dict
47162136380880
32582232
47162136380920
32739896
47162136379840
47162137268952
str
a
int
1790
str
b
int
1789
str
t
list
47162137342720
47162137342768
str
world
str
hello
Remarque : Python n’est pas très malin
a=b+ 0
Python a construit un nouvel objet pour
évaluer 1789 + 0...
str
t
str
hello
str
b
dict
47162136380880
32739536
47162136380920
32739896
47162136379840
47162137268952
str
a
int
1789
int
1789
list
47162137342720
47162137342768
str
world
5 Aliasing
Deux variables peuvent représenter le
même objet :
t= [9283 , 1009]
u=t
On parlera d’égalité physique pour dire que
deux objets ont la même adresse mémoire.
En python, elle peut se tester avec le mot-
clé is («tis u» vaut ici True).
dict
47162136383280
47162137247256
47162136379840
47162137247256
str
u
list
32739848
32739824
str
t
int
9283
int
1009
Cela peut avoir des conséquences inat-
tendues :
t[0] = 42
# u [0] v aut maintenant 4 2 . . .
3