pythonでは変数と関数のネームスペースが重複する

カテゴリ: 未分類

pythonでは、他の言語と異なり、グローバル変数と関数でネームスペースが分離していません。

このため、以下のように変数と関数を定義してしまうと、変数の中身が関数オブジェクトで上書きされてしまいます。

# 変数aaを用意
aa = 10

print(aa)    # 10       <= 数字の10が入っている


# 変数と同名の関数を定義
def aa(x):
    return x * 2;

print(aa)    # <function aa at 0x106836e18>     <=関数オブジェクトに変わっている
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。