0

私はちょうどPythonに慣れてきたので、「経験則」を把握して、ビットとピースがどのように連携するかを理解できるようにしています。

したがって、このコードの場合:

string = "Hello World"
string.replace ("World", "Mars")
print string (which would equal "Hello World")

データオブジェクトは変更されないことを理解しています。そのためには、変数を割り当てる必要があります。

hello = string.replace("World", "Mars")
print hello

文字列を返すことがメソッドの典型的なものに過ぎないのだろうかと思っています。または、ここにいくつかのより大きな基本的なルールがあります。関数について考えるとき、変数を割り当てない限り、そこでもデータオブジェクトを変更できないからです。これはPythonの一般的な経験則ですか?次のことを行わないとオブジェクトを変更できないこと:

object = altering code

これがすべて理にかなっていることを願っていますか?

4

1 に答える 1

10

Python の文字列は不変であり、変更することはできません。この意味で、Python 文字列は数値によく似ています。文字列操作演算子/メソッドの結果を使用する必要があります。

現在、変更可能なオブジェクトは変更されるように設計されています。リストと辞書は変更可能なオブジェクトです-ほとんどの(すべて標準?)副作用のあるメソッドが返されます(重要なのは変更Noneであることを示しています)。

于 2013-06-14T23:07:16.333 に答える