還可以創建一個等於自己的變量:
>>> Score = 7>>> Score = Score
我敢打賭,你肯定在想:「什麼嘛,這一點兒用都沒有!」你的想法沒錯。這實際上就是在說「我是我」。不過,稍稍做點改變,你就能成為一個全新的你!試試看:
這裡發生了什麼?在第一行中,Score
標籤本來貼在值 7
上。我們創建了一個新東西:Score + 1
,也就是 7 + 1
。這個新東西是 8
。然後把 Score
標籤從原來的東西(7)上取下來,貼到這個新東西(8)上。所以 Score
從 7
重新指派到 8
。
要讓變量等於某個東西,這個變量總會出現在等號(=)左邊。巧妙的是,變量也可以出現在等號右邊。這很有用,在很多程序中都會看到。最常見的用法是讓變量自增(increment),也就是讓它增加某個量(就像前面所做的),或者與之相反,也可以讓變量自減(decrement),讓它減少某個量。
開始時
Score
= 7。讓它增加 1(得到 8),創建一個新東西。
把名字
Score
賦給這個新東西。
這樣一來,Score
就從 7 變成了 8。
關於變量,有幾個重要的問題必須記住。
程序可以在任何時間對變量重新賦值(把標籤貼在新東西上)。這一點很重要,必須記住,因為編程中最常見的 bug 就是改變了不該改變的變量,或者儘管改變的變量無誤,但是時機不合適。
要避免這種情況,有效的方法是使用容易記的變量名。我們可能用過下面這 兩個變量名:
t = \'Mr. Morton\'
或
x1796vc47blahblah = \'Mr. Morton\'
不過這樣在程序中會很難記住。如果使用這些變量名,出錯的可能性會更大。應該盡量使用能夠說明用途的名字,可以告訴你變量要用來做什麼。
變量名區分大小寫。這說明大寫和小寫是不同的。所以
teacher
和Teacher
是兩個完全不同的名字。
記住,如果想瞭解 Python 的所有變量命名規則,可以查看附錄 A。
像程序員一樣思考
我們曾經說過,你可以為變量取任何名字(不過前提是要滿足命名規則),這一點不假。你可以把變量叫做
teacher
或者Teacher
,這兩個名字都是可以的。專業的 Python 程序員給變量命名時幾乎總是以小寫字母開頭,其他計算機語言可能會採用不同風格。是否遵循 Python 風格由你來決定。因為我們使用的是 Python,所以這本書後面都會遵循這種風格。
你學到了什麼
這一章中,你學到了以下內容。
如何使用變量在計算機內存中「記住」或保存信息。
變量也叫做「名字」或「變量名」。
變量可以是不同類型的東西,如數字和字符串。
測試題
1. 如何告訴 Python 變量是字符串(字符)而不是數字?
2. 一旦創建一個變量,能不能改變賦給這個變量的值?
3. 變量名 TEACHER
與 TEACHEr
相同嗎?
4. 對 Python 來說,\'Blah\'
與 \"Blah\"
一樣嗎?
5. 對 Python 來說,\'4\'
是不是等同於 4 ?
6. 下面哪個變量名不正確?為什麼?
(a) Teacher2
(b) 2Teacher
(c) teacher_25
(d) TeaCher
7. \"10\"
是數字還是字符串?
動手試一試
1. 創建一個變量,並給它賦一個數值(任何數值都行)。然後使用 print
顯示這個變量。
2. 改變這個變量,可以用一個新值替換原來的值,或者將原來的值增加某個量。使用 print
顯示這個新值。
3. 創建另一個變量,並賦給它一個字符串(某個文本)。然後使用 print
顯示這個變量。
4. 像上一章一樣,在交互模式中讓 Python 計算一周有多少分鐘。不過,這一次要使用變量。以 DaysPerWeek
(每週天數)、HoursPerDay
(每天小時數)和 MinutesPerHour
(每小時分鐘數)為名分別創建變量(或者也可以用自己取的變量名),然後將它們相乘。
5. 人們總是說沒有足夠的時間做到盡善盡美。如果一天有 26 個小時,那麼一周會有多少分鐘呢?(提示:改變 HoursPerDay
變量。)