Cosa succede con la mia variabile Python? old_pos
sembra essere legato a pos
:Stranalità variabile di Python?
Codice:
pos = [7, 7]
direction = [1, 1]
old_pos = pos
print 'pos = '+str(pos)
print 'old_pos = '+str(old_pos)
pos[0] += direction[0]
pos[1] += direction[1]
print 'pos = '+str(pos)
print 'old_pos = '+str(old_pos)
uscita:
pos = [7, 7]
old_pos = [7, 7]
pos = [8, 8]
old_pos = [8, 8]
Tuttavia, se sostituisco old_pos = pos
con old_pos = tuple(pos)
o addirittura old_pos = list(pos)
, non ottengo questo problema:
pos = [7, 7]
old_pos = [7, 7]
pos = [8, 8]
old_pos = [7, 7]
Sì, questo è ciò che = = 'fa. :-) – Ken
non ci sono variabili in python, solo nomi e oggetti. – hop
@hop: Ma non sono le variabili di riferimento dei nomi? – recursive