Pythonにおけるスコープの相互作用

外部(グローバル)変数と内部(ローカル)変数が 同じ名前を持つ場合があります:

pythonnum = 1

def func():
  num = 2
  print(num)

ここで重要なのは、ローカル変数numは グローバル変数と同じ名前であっても、Pythonにとっては 別の変数であるということです。 これは、関数内部でグローバル変数numが 上書きされるのではなく、元の値を保持することを意味します。 関数funcを呼び出すと、コンソールには ローカル変数numの値だけが表示され、 printを通じてグローバル変数の値が表示されます:

pythonfunc() # 2を出力します
print(num) # 1を出力します
Задание 1

次のコードを実行した結果はどうなりますか:

pythonnum = 10

def func():
  num = 5
  return num

func()
print(num)
Задание 2

次のコードを実行した結果はどうなりますか:

pythonnum = 3

def func():
  num = 4
  return num

num = func()
print(num)
Задание 3

次のコードを実行した結果はどうなりますか:

pythonnum = 1

def func():
  num = 2
  return 1

num = func()
print(num)
Задание 4

次のコードを実行した結果はどうなりますか:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num1)
Задание 5

次のコードを実行した結果はどうなりますか:

pythonnum1 = 1

def func():
  num2 = 2

func()
print(num2)
Задание 6

次のコードを実行した結果はどうなりますか:

pythonnum1 = 1

def func():
  num2 = 2

func()
num2 = 3
print(num2)
Задание 7

次のコードを実行した結果はどうなりますか:

pythonnum1 = 1
num2 = 2

def func():
  num2 = 3

func()
print(num2)
Задание 8

次のコードを実行した結果はどうなりますか:

pythonnum1 = 1

def func():
  num1 = 2

print(num1)