Pythonにおけるオブジェクトのパラメータ渡し

オブジェクト(リスト、 セット、タプル、辞書)を含む変数は、関数内では 参照渡しされます。渡された変数の最初の要素を 感嘆符に変更するように、関数内のコードを 書き換えてみましょう。そして、関数の下で リストを値とする変数を宣言します:

pythondef func(tst):
  tst[0] = '!'
  print(tst)

lst = [1, 2, 3, 4, 5]

リストは参照渡しされるため、 関数を呼び出すと、グローバルスコープ内の lst の値も変更されます:

pythonfunc(lst) # ['!', 2, 3, 4, 5] を出力
print(lst) # ['!', 2, 3, 4, 5] を出力
Задание 1

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

pythondef func(lst):
  lst[0] = '!'

lst = [1, 2, 3, 4, 5]
func(lst)

print(lst)
Задание 2

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

pythondef func(lst):
  lst[0] = '!'

lst = [1, 2, 3, 4, 5]
lst = func(lst)

print(lst)
Задание 3

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

pythondef func(lst):
  lst = '!'

lst = [1, 2, 3, 4, 5]
func(lst[0])

print(lst)
Задание 4

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

pythondef func(dct):
  for key in dct.keys():
    dct[key] += 2

dct = {
  'a': 1,
  'b': 2,
  'c': 3,
}

func(dct)
print(dct)