a = 3.14
b = a
print(id(a), id(b)) # aとbは同じidです。つまり同じ値のラベル(参照)です。
2394358512144 2394358512144
比較)Cでは変数宣言するとメモリ上に宣言に対応する領域が確保され、値を代入するとそこに値が入ります。
Cでは変数に型があり、変数に値が代入される。一方、Pythonでは値に型があり、変数は値のラベル(参照)です。
Pythonでは変数はすべて値のラベル(参照)です。 従って、Pythonでは「変数を宣言だけして、後で値を代入する」ことはできません。
c # 後に値を代入しようと考え先に変数宣言しておくと、変数が値を参照していないので Pythonでは Error となります。
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-2-8333d19db03d> in <module> ----> 1 c # 後に値を代入しようと考え先に変数宣言しておくと、変数が値を参照していないので Pythonでは Error となります。 NameError: name 'c' is not defined
c = None # Noneは値の無いことを表すオブジェクトです。
print(id(None), id(c))
140734152195288 140734152195288
# Noneは返値の無い関数の返値でもあります。
def test():
print("test function")
t = test()
print(t)
test function None
# Noneのブール値はFalseです。
bool(None)
False