Python辞書は本当に可変だと思いますか?
はい、Python辞書は変更可能です。キーへの参照を変更しても、新しい辞書は作成されません。むしろ、現在の辞書を更新します。
a = {'foo': 1, 'bar': 12} b = a b['foo'] = 20 print(a) print(b)
これにより、出力が得られます-
{'foo': 20, 'bar': 12} {'foo': 20, 'bar': 12}
-
なぜタプルはPythonで不変だと思いますか?
次の理由により、タプルは不変です- 順序の維持-タプルは主にPythonで順序を示す方法として定義されています。たとえば、タプルのリストの形式でデータベースからデータを取得する場合、すべてのタプルは、フェッチしたフィールドの順序になります。 コピー効率-不変オブジェクトをコピーするのではなく、エイリアスを作成できます(変数を参照にバインドします) 比較効率-参照によるコピーを使用している場合、コンテンツではなく場所を比較することで2つの変数を比較できます インターン-不変の値のコピーを最大で1つ保存する必要があり、並行コードで不変オブジェクトへのアクセスを同期する必要は
-
Pythonでreturnステートメントを使用するのはなぜですか?
print()関数は、コンソールに文字列または数値を書き込みます。つまり、「印刷」します。 returnステートメントは、関数が呼び出されたときに返す値を出力しません。ただし、関数の最後のステートメントでなくても、関数はすぐに終了または終了します。 値を返す関数は、実りある関数と呼ばれることもあります。他の多くの言語では、値を返さない関数はプロシージャと呼ばれます。 指定されたコードでは、関数foo()が呼び出されたときに返される値(つまり2)が関数bar()で使用されます。これらの戻り値は、以下に示すようにprintステートメントが使用された場合にのみコンソールに出力されます。 例 def