third_global = 3 # グローバルスコープ class TestClass(object): class_var = "class var" # クラス変数 def func(): second_enclosing = 2 # エンクロージングスコープ def inner(): first_local = 1 # ローカルスコープ # Pythonは、変数を、①・②・③・④の順番で探し、見つかったものを使います print(first_local) # ①ローカルスコープ print(second_enclosing) # ②エンクロージングスコープ print(third_global) # ③グローバルスコープ # 4th: どこからでもアクセス出来るlen関数 # ④ビルトイン関数のlen関数は、ビルトインスコープ print(f"class_varの値は、{len(TestClass.class_var)}文字です") inner() # ワンポイント:Pythonは、関数やclassの巻き上げはなく、上から順番に実行されます func() # 実行結果 # 1 # 2 # 3 # class_varの値は、9文字です