📖

Pythonの変数

に公開

たつや、さんのPythonの変数の説明で気になる点があったのですがコメントできなかったので記事にしておきます。

https://zenn.dev/tacchan5424/books/106316ff84a28e/viewer/acd06b

# 型を定義することでエラーになる
int number = 10

Pythonは型ヒントを書くことができて、変数名の後ろにコロンと型を書きます。
単なるヒントなので、別の型の値を代入してもエラーにならないのが難点です。

number: int = 10

既に扱った内容ですがPythonではイミュータブルな型に対して再代入を行うと異なるアドレスが確保さます。

イミュータブルに限らず、ミュータブルな型に対して再代入を行っても異なるアドレスが確保されます。
id関数は、変数のアドレスではなく引数に渡されたオブジェクトのアドレスを返します。新たなオブジェクトを再代入するのですから異なるアドレスが表示されます。

items = [10]
print(id(items))
items = [1000000]
print(id(items))
実行結果
130396270150912
130396270138688

Discussion