※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#08:関数の引数
このチャプターでは、関数に引数がどのように渡されるか学習しましょう。
- 一般的に関数に引数が渡されるとき、その渡され方は次の 2 通りがある
- 値渡し: オブジェクトがコピーされて渡されるような方法
- 参照渡し: オブジェクトの id が渡されるような方法
- Python は参照渡し
def show_id(name, value):
print(f"{name}: {id(value)}")
a = [1, 2, 3]
print(f"関数の外: {id(a)}")
show_id("関数の中", a)
- 関数の内側と外側、どちらで id 関数を使っても得られる id が同じ
- 関数内の処理は、関数の外のミュータブルなオブジェクトに影響を与えることがある
def show_id(name, value):
print(f"{name}: {id(value)}")
def twice(li):
for i in range(len(li)):
li[i] *= 2
a = [1, 2, 3]
print(f"関数処理の前: {a}")
twice(a)
print(f"関数処理の後: {a}")
- twice 関数を呼び出した前後で、リスト a の要素が変わっている
- 対して、イミュータブルなオブジェクトについては影響がでない
def show_id(name, value):
print(f"{name}: {id(value)}")
def increment(x):
x += 1
print(x)
n = 813
increment(n)
print(n)
- increment 関数を呼び出した前後で、変数 n の示す値が変わらない
ログインすると採点できます
コードの実行