Pythonにおける関数パラメータへのプリミティブ型の渡し方
関数パラメータへのプリミティブ型データ(文字列、数値)の受け渡しの特徴について見てみましょう。
パラメータとして変数tstを受け取り、それに値2を設定する関数があるとします。関数の後に変数numを宣言します:
def func(tst):
tst = 2
print(tst)
num = 3
関数を呼び出し、そのパラメータに変数numを渡し、その値をコンソールに出力してみましょう。関数のパラメータでnumが指定されていますが、グローバルスコープでのその値は変更されていません:
func(num) # 2を出力
print(num) # 3を出力
次のコードを実行した結果はどうなるでしょうか:
def func(txt):
txt = 'user2'
return txt
name = 'user1'
res = func(name)
print(res)
print(name)
次のコードを実行した結果はどうなるでしょうか:
def func(tst1, tst2):
tst1 += 1
tst2 *= 2
return tst1 + tst2
num1 = 0
num2 = 2
res = func(num1, num2)
print(num1 + num2)
print(res)