Quelques manipulations sur les tuples et les références¶
In [1]:
# on créé 3 variables chaines de caractères
a = 1
b = 2
c = 3
print(id(a), a)
print(id(b), b)
print(id(c), c)
In [2]:
# on définit un tuple avec ces variables
t = (a, b, c)
print(t)
In [3]:
# on essait d'insérer un élément ou changer ou élément du tuple
try:
t[0] = 4
except TypeError as e:
print('Erreur: ', e)
# impossible
try:
t.append(4)
except AttributeError as e:
print('Erreur: ', e)
try:
t.add(4)
except AttributeError as e:
print('Erreur: ', e)
# les fonctions n'existent pas
In [4]:
# on modifie une des variables du tuple
a = 4
print(id(a), a)
print(t)
le tuple t a gardé son ancienne valeur (voir le notebook sur la manipulation des ensembles
Maintenant avec des objets¶
In [5]:
class A:
def __init__(self, pa):
self.a = pa
In [6]:
a = A(1)
b = A(2)
print(id(a), a, a.a)
print(id(b), b, b.a)
In [7]:
t = (a, b)
print(t)
In [8]:
b = a
print(id(b), b, b.a)
print(t)
In [9]:
b = t[1]
print(id(b), b, b.a)
In [10]:
b.a = 3
print(t)
In [11]:
print(t[1].a)