私はいくつかのPythonチュートリアル(Dive Into Pythonなど)と、Python.orgの言語リファレンスを読みました-言語にタプルが必要な理由がわかりません。
タプルにはリストやセットと比較してメソッドがありません。タプルをセットまたはリストに変換してソートできるようにする必要がある場合、そもそもタプルを使用する意味は何ですか?
不変性?
変数が最初に割り当てられたときとは異なるメモリ内の場所にある場合、なぜ誰かが気にするのですか?Pythonにおけるこの不変性のビジネス全体は、過度に強調されているようです。
C / C ++では、ポインタを割り当てて有効なメモリを指す場合、使用する前にアドレスがnullでない限り、アドレスの場所は気にしません。
その変数を参照するときはいつでも、ポインターがまだ元のアドレスを指しているかどうかを知る必要はありません。私はnullをチェックしてそれを使用する(または使用しない)だけです。
Pythonでは、文字列(またはタプル)を割り当ててxに割り当て、次に文字列を変更すると、元のオブジェクトであるかどうかを気にするのはなぜですか?変数が私のデータを指している限り、それだけが重要です。
>>> x='hello'
>>> id(x)
1234567
>>> x='good bye'
>>> id(x)
5432167
x
それでも私が必要なデータを参照していますが、なぜそのIDが同じか異なるかを誰かが気にする必要があるのですか?