文字列オブジェクトの文字列メソッド操作で文字列オブジェクトが変更されないことがわかった。それはなぜです?私は最終的にこれを発見したときに私のコードがなぜ機能していなかったのか理解しようと、昨日かなり時間を無駄にしました。文字列オブジェクトのstringメソッドがPythonのオブジェクトを変更しないのはなぜですか?
0
A
答えて
4
文字列はPythonでは不変な型です。不変であることの主な利点は、
- マルチスレッドプログラミングを簡素化することです。
- は
4
文字列はPythonで設計することにより不変である(同じハッシュを維持します)辞書のキーとして使用することができます。これは他の多くの言語にも共通するので、Python固有のものではありません。 「なぜ?」 SOの場合はthese excellent answers、Eric Lippertの場合はthis great blog postをご覧ください。文字列操作は、常にあなたは、あなたが文字列を変更することができると思っていた理由を
mystr = mystr.upper()
関連する問題
- 1. パブリックStringは文字列を変更しないのはなぜですか?
- 2. JavaScriptが文字列をオブジェクトに変換しないのはなぜですか?
- 3. オブジェクトを文字列に変換できないのはなぜですか?
- 4. Pythonでは、なぜstrオブジェクトの隠しメソッドがcontains()ですか?
- 5. オブジェクトをwriteObjectメソッドで送信したときにオブジェクトが変更されないのはなぜですか?
- 6. オブジェクト(本当にオブジェクト[])を文字列[]に変換できないのはなぜですか?
- 7. ゼロパディングなしの文字列をPython datetimeオブジェクトに変換する
- 8. なぜこのオブジェクトのキーは文字列ですか?
- 9. なぜPythonのjson.dumpsがオブジェクトから文字列をシリアル化しないのですか?
- 10. WPF Lineオブジェクトが位置を変更しないのはなぜですか?
- 11. なぜ文字列オブジェクトを辞書に追加できないのですか
- 12. なぜ結果オブジェクトを変更できないのですか
- 13. JavaScriptオブジェクトのメソッドを渡すとオブジェクトが更新されないのはなぜですか?
- 14. コアStringオブジェクトのカスタム文字列クラスリファレンス
- 15. Javaの大きな文字列のSole Stringオブジェクト
- 16. Python + sqlAlchemy:dtypeオブジェクトを文字列に動的に変更します。
- 17. なぜreduxフォームはオブジェクトではなく文字列を返しますか?
- 18. JPropertyオブジェクトの配列ではなく文字列への変換
- 19. オブジェクトを直列化解除した後、オブジェクトが他のオブジェクトを参照しないのはなぜですか?
- 20. なぜ型変数がオブジェクトで、数字ではないのですか
- 21. JAVASCRIPT - このオブジェクトが変更されないのはなぜですか?
- 22. Stringオブジェクトのメソッドではないエスケープ、エスケープなどの関数はなぜですか?
- 23. なぜset()オブジェクトに.count()メソッドがないのですか?
- 24. オブジェクトからの文字列がArrayListの同じオブジェクトの文字列と等しくない
- 25. なぜ文字セットを変更できないのですか?
- 26. PHPが返すXML出力の数値文字列をActionscriptオブジェクトが変換するのはなぜですか?
- 27. PythonオブジェクトをJSON文字列に変換
- 28. なぜ文字列::は&strのメソッドではないのですか?
- 29. Vue2 - store.commitが文字列から文字列へのペイロードを変更するのはなぜですか?
- 30. Javaの `String.toCharArray()`と `new String(char [])`メソッドが文字セットのエンコーディングを受け入れないのはなぜですか?
はたぶん自分自身に問うような前と同じ名前に再割り当てることができ、新たな文字列を(返す理由です
は。ドキュメント誤をしました他の言語が違っていると仮定していたのですか?数字はまた不変です。 – cdarke
@cdarkeはい、私はそれらの「ブロンド」(ブロンドの罪を犯さない)の瞬間を持っていました。 :D – Mir