三、Pythonのメモリガベージコレクションや文字列のコレクション

変数宣言:
NAME1 = "アンディ"
NAME2 = NAME1
 
この時間は、私は今、値名2が何であるかを尋ね、「トムの」NAME1する値を変更しましたか?なぜ?
:あなたは新しいメモリアドレスを指しますNAME1 NAME1の同等の値を変更するためにアンディは、トムと呼ばれるが、それでも古いアンディname2のメモリアドレス(文字列)を指します。同様に、JavaやC#
次のように
>>> NAME1 = "アンディ"
>>> NAME2 = NAME1
>>> ID(NAME1)
47729824
>>> ID(NAME2)
47729824
>>> NAME1 = "トム"
>>> ID(NAME1)
47894176
>>> ID(NAME2)
47729824
 
値がNAME1の集まりであれば、状況は値がNAME1を変更した場合、それは元のメモリアドレスの変更を行っていることを、反対であるしかし、その後、name2の値が一緒に変更されます
>>> NAME_LIST = [ "ルーニー"、 "リンダ"、 "ラモス"]
>>> ID(NAME_LIST)
46820168
>>> name_list.append( 'ピケ')
>>> ID(NAME_LIST)
46820168
 
要約:
私は、文字列についてお話しましょう:あなたは、文字列を変更すること、あなたの文字列を変更すると言うことではない元のメモリアドレスで指定されたが、メモリアドレスの変更を保存するための新しい文字列を開設しています。
トムにアンディ、元のアンディ・ポイントのメモリアドレスではない変化が、メモリアドレスが格納されて追加されました:など
コレクションに加えて:
 

おすすめ

転載: www.cnblogs.com/steven9898/p/11329309.html