Python 文字列は不変ではないでしょうか?詳しく見てみる
Python 文字列は見かけ上不変であるにもかかわらず、式 "a " " b" は変数 "a" に新しい値を代入します。この一見逆説的な動作には、不変性が何を意味するのかをより深く理解する必要があります。
Python 文字列の不変性を理解する
Python 文字列は確かに不変であり、その内容は変更できません。ただし、文字列を参照する変数は、それが指すオブジェクトを変更する可能性があります。 「a」が文字列「Dog」を参照している場合、追加の文字を含めるように「a」を変更すると、新しい文字列オブジェクトが作成されます。
「a " " b" の謎
式 "a " " b" は、"a" と "b" が指す文字列を連結し、その結果を "a" に代入します。これにより、「a」の参照が、「Dog」と「eats treats」の両方を保持する新しい文字列オブジェクトに事実上移動されます。したがって、「a」は、元の「Dog」を残したまま、別の文字列を指すようになります。弦は無傷。元の文字列は変更されていないため、これは文字列の不変性と一致しています。結論
Python 文字列は不変ですが、変数は別の文字列オブジェクトにリダイレクトできます。式 "a " " b" は "a" を変更しているように見えますが、実際には変数に新しい文字列オブジェクトを割り当てます。以上が\'a \' b\' が \'a\' の値を変更する場合、Python 文字列はどのようにして不変になるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。