Pythonにおける値渡し
Pythonではすべてのデータはプリミティブ型 (文字列、数値)と複雑なオブジェクト (リスト、集合、辞書など)に分けられます。 それぞれの型の変数の受け渡しには独自の特徴があります。 例えば、値渡しできるのはプリミティブ型データに属する変数のみです。
2つの変数があるとします。1つ目の変数には値として1が含まれており、 2つ目の変数は1つ目と等しいとします:
num1 = 1
num2 = num1
print(num2) # 1を出力
2つ目の変数を宣言した後にnum1を上書きしても、
num2の値は以前のままです。
これは、num2には最初の変数の値のみがコピーされるためです。
num1に加えられたそれ以降の変更はnum2に影響しません。
ここでは変数の値渡しが機能しています:
num1 = 1
num2 = num1
num1 = 3
print(num2) # 1を出力
次のコードを実行した結果はどうなりますか:
num1 = 10
num2 = num1
num1 = 5
print(num2)
次のコードを実行した結果はどうなりますか:
num1 = 8
num2 = num1 - 2
print(num2)
次のコードを実行した結果はどうなりますか:
txt1 = 'abcde'
txt2 = 'abcde'
txt1 = txt1.upper()
print(txt2)
次のコードを実行した結果はどうなりますか:
txt1 = 'abcde'
txt2 = txt1
txt1 = txt1.title()
print(txt1)
print(txt2)