ホームページ  >  記事  >  バックエンド開発  >  Python 文字列は本当に不変ですか?

Python 文字列は本当に不変ですか?

DDD
DDDオリジナル
2024-10-31 22:04:29152ブラウズ

Are Python Strings Truly Immutable?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。