傳值是什麼意思
在程式設計中,「傳值(passing by value)」是一種函數參數傳遞的方式。當使用傳值的方式時,函數會建立一個新的變數,這個變數是參數的一個副本。任何對這個副本所做的更改都不會影響原始變數的值。
舉個例子,假設我們有一個函數 func
,它接受一個參數 x
,並且將 x
的值增加 1。如果我們使用傳值的方式來傳遞參數,那麼函數 func
中的 x
變數是 x
的副本,而不是 x
本身。當 func
執行完畢時,x
的值會增加 1,但是原始的 x
值並不會改變。
以下是一個使用傳值方式的例子:
def func(x):
x += 1
print("x inside func is", x)
# 原始的 x 值
x = 5
print("x before calling func is", x)
# 呼叫 func 並傳遞 x 的副本
func(x)
# 檢查原始的 x 值是否改變
print("x after calling func is", x)
執行這個程式會輸出:
x before calling func is 5
x inside func is 6
x after calling func is 5
如上所示,func
中的 x
變數是 x
的副本,增加 x
的值並不會影響原始的 x
。
另一種常見的傳遞方式是「傳引用(passing by reference)」,這時候函數參數會直接指向原始變數,任何對參數的更改都會直接影響原始變數的值。不同的程式語言對傳值和傳引用的支持程度不同,有些語言(如 Python)會自動決定使用哪種方式,而有些語言(如 C++)則需要開發者明確指定。