讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 2.5 它們有多「可變」 >

2.5 它們有多「可變」

變量之所以叫做「變量」是有原因的,就是因為它們是……怎麼說呢……是可變的!這是指你可以改變賦給它們的值。在 Python 中,這就要創建一個與原先不同的新東西,並把舊標籤(名字)貼到這個新東西上。上一節中我們就採用這種方式改變了 MyTeacher。我們將標籤 MyTeacher"Mrs. Goodyear" 上取下來,把它貼到一個新東西 "Mrs. Tysick" 上。這樣就為 MyTeacher 賦了一個新值。

下面再來試一個例子。還記得之前創建的變量 Teacher 嗎?嗯,如果你還沒有關閉 IDLE,這個變量就還在。可以檢查看看:

>>> Teacher'Mr. Morton'  

沒錯,確實還在。不過現在可以把它改成其他內容:

>>> Teacher = 'Mr. Smith'>>> Teacher'Mr. Smith'  

我們創建了一個新東西 "Mr. Smith",並把它命名為 Teacher。我們的標籤從原來的值上取下來,貼到了這個新東西上。不過原來的 "Mr. Morton" 怎麼樣了呢?

應該記得,一個東西可以有多個名字(上面可以貼多個標籤)。如果 "Mr. Morton" 上還有另一個標籤,那麼它還在計算機的內存裡。不過,如果它上面再沒有任何標籤了,標籤被移走 Python 就會發現再沒有人需要它了,所以會把它從內存中刪除。

這樣一來,內存中就不會塞滿那些沒人用的東西。Python 會自動完成所有這些清理工作,根本不用你操心。

還有一點很重要,這裡並沒有真的把 "Mr. Morton" 改成 "Mr. Smith"。我們只是把標籤從一個東西移到另一個東西上(重新指派名字)。Python 中有些東西(如數字和字符串)是不能改變的。你可以把它們的名字重新指派到其他東西上(就像我們剛才所做的一樣),但是並不能對原先的東西做任何改變。

Python 中還有一些東西是可以改變的。第 12 章介紹列表(list)時我們會更多地討論這方面的內容。