在Python中,賦值和引用有著不同的含義和行為。
賦值是將一個對象的值復制給另一個對象。當使用賦值操作符(=)將一個變量賦值給另一個變量時,它們指向的是同一個對象的值。這意味著如果其中一個變量的值發生了改變,另一個變量的值也會相應地改變。
例如:
a = 5
b = a
print(a) # 輸出:5
print(b) # 輸出:5
a = 10
print(a) # 輸出:10
print(b) # 輸出:5
在這個例子中,變量a被賦值為5,然后變量b被賦值為a。當變量a的值改變為10時,變量b的值仍然是5,因為它們指向的是不同的對象。
引用是指向對象的指針或引用。當一個變量被引用時,它實際上指向的是對象在內存中的位置,而不是對象的值。多個變量可以引用同一個對象,這意味著它們指向的是同一個對象的值。如果其中一個變量的值改變,其他引用該對象的變量的值也會相應地改變。
例如:
a = [1, 2, 3]
b = a
print(a) # 輸出:[1, 2, 3]
print(b) # 輸出:[1, 2, 3]
a.append(4)
print(a) # 輸出:[1, 2, 3, 4]
print(b) # 輸出:[1, 2, 3, 4]
在這個例子中,變量a引用一個包含整數1、2和3的列表。然后,變量b被引用為a,這意味著它們指向同一個列表對象。當向列表a中添加一個新元素4時,列表b也會相應地改變。
總結來說,賦值是將一個對象的值復制給另一個對象,而引用是指向同一個對象的指針或引用。