python + = = la différence entre

1 a = 1
 2  print ( ' un ' , a, id (a))
 3 b = a
 4 a + = 1
 5  print ( ' un ' , a, id (a))
 6  impression ( ' b ' , b, id (b))
 7  
8  impression ( ' - ' * 20 )
 9 a = a + 1
 10  print ( ' un ' , a, id (a))
 11  impression ( ' b ', B, ID (B))
 12 est  
13 est  # sortie suivante: 
14 . A 140,721,411,760,528 1
 15 A 2 140,721,411,760,560
 16 . B 140,721,411,760,528 1
 . 17 --------------------
 18 est A. 3 140.721.411.760.592
 . 19 B 140.721.411.760.528. 1

Comme décrit ci-dessus, après un + 1 =, un changement d'adresse, et b = a est un pointeur vers une première adresse, et lors d'un changement libéré, l'adresse de source constant, la valeur de b et l'adresse est pas changé

. 1 A = [. 1, 2 ]
 2  Imprimer (ID (A))
 . 3 F = A
 . 4 A + = [. 3 ,. 4 ]
 . 5  Print (ID (A))
 . 6  impression (F)
 . 7  
. 8  Imprimer ( ' _ ' * 20 est )
 . 9 B = [. 1, 2 ]
 10  Print (ID (B))
 . 11 G = B
 12 est B = B + [. 3 ,. 4 ]
 13 est  impression (ID (B))
 14 d'  impression (G)
 15  
16  # sorties de ce qui suit : 
171534352052616
 18 1534352052616
 19 [1, 2, 3, 4 ]
 20  ____________________ 
21 1534352053128
 22 1534352609736
 23 [1, 2]

Comme indiqué ci-dessus, nous utilisons la liste pour comparer, vous trouverez différents d'avant:

a + = un et le même [3, 4] adresse, ne change pas, et la valeur de f est changé, la valeur après un changement est égale, ce qui indique une adresse de source inchangée, les variations de valeur;

et b = b + b différente [3, 4] adresse, ce qui indique un changement d'adresse, g est dirigée vers la même adresse 

Je suppose que tu aimes

Origine www.cnblogs.com/tttzqf/p/12563612.html
conseillé
Classement