-2

不変変数: 変更された場合に元のバージョンを格納する変数のタイプ。質問: Python でその変数の古いバージョンにアクセスするにはどうすればよいですか? またはJavaで?または、この「永続的なデータ構造」をサポートする他の言語はありますか? または、不変変数の定義について間違っていますか?

変数を変更した後、 pythonとしましょう:

name = "nice name"
name = "bad name"

の古い値を取得するにはどうすればよいvar nameですか?

: この質問は、重複としてマークされている質問とは異なります。この質問は変数のメモリ位置に関するものであり、もう 1 つの質問は変数のスコープに関するものです

4

1 に答える 1

0

あなたの例でnameは、値を指す参照です。

最初の行でnameは、不変の文字列「nice name」を指しています。

次に、2 行目でname、別の不変文字列「bad name」を指すように更新します。

この時点で、「ナイス ネーム」を参照する変数がないため、使用できなくなります。

「ナイスネーム」のstr値自体は更新できないため、型は不変です。文字列に対する操作は、変更された文字列を格納するための新しいメモリ ブロックを作成します。例では、「ナイス ネーム」と「バッド ネーム」は異なるメモリ ブロックに格納されます。更新するのは、メモリーブロック。

于 2015-01-25T11:47:33.787 に答える