Python 文字列の不変性を理解する
不変とみなされがちな Python 文字列は、なぜ " " を使用して文字列を別の文字列に追加するのかという疑問を多くの人に残しています。演算子は元の文字列を変更しているように見えます。この現象を詳しく見てみましょう。
次のコードを考えてみましょう。
<code class="python">a = "Dog" b = "eats" c = "treats" print(a, b, c) # Output: Dog eats treats print(a + " " + b + " " + c) # Output: Dog eats treats print(a) # Still Output: Dog a = a + " " + b + " " + c print(a) # Output: Dog eats treats</code>
「Dog」を変数「a」に代入すると、文字列「Dog」は不変であると想定できます。ただし、「 」演算子を使用して文字列リテラルを追加すると、結合された内容を持つ新しい文字列オブジェクトが作成されます。この場合、新しい文字列「Dog Eats Treats」が作成され、変数「a」がこの新しい文字列を指すように再割り当てされます。
したがって、Python 文字列の不変性は、元の文字列が文字列オブジェクト (この場合は「Dog」) は変更されません。ただし、変数は別の文字列オブジェクトを指すように割り当てられ、文字列の突然変異のように見せることができます。
以上がPython 文字列は本当に不変ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。