讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 2.6 全新的我 >

2.6 全新的我

還可以創建一個等於自己的變量:

>>> Score = 7>>> Score = Score  

我敢打賭,你肯定在想:「什麼嘛,這一點兒用都沒有!」你的想法沒錯。這實際上就是在說「我是我」。不過,稍稍做點改變,你就能成為一個全新的你!試試看:

這裡發生了什麼?在第一行中,Score 標籤本來貼在值 7 上。我們創建了一個新東西:Score + 1,也就是 7 + 1。這個新東西是 8。然後把 Score 標籤從原來的東西(7)上取下來,貼到這個新東西(8)上。所以 Score7 重新指派到 8

要讓變量等於某個東西,這個變量總會出現在等號(=)左邊。巧妙的是,變量也可以出現在等號右邊。這很有用,在很多程序中都會看到。最常見的用法是讓變量自增(increment),也就是讓它增加某個量(就像前面所做的),或者與之相反,也可以讓變量自減(decrement),讓它減少某個量。

  • 開始時 Score = 7。

  • 讓它增加 1(得到 8),創建一個新東西。

  • 把名字 Score 賦給這個新東西。

這樣一來,Score 就從 7 變成了 8。

關於變量,有幾個重要的問題必須記住。

  • 程序可以在任何時間對變量重新賦值(把標籤貼在新東西上)。這一點很重要,必須記住,因為編程中最常見的 bug 就是改變了不該改變的變量,或者儘管改變的變量無誤,但是時機不合適。

    要避免這種情況,有效的方法是使用容易記的變量名。我們可能用過下面這 兩個變量名:

    t = \'Mr. Morton\'  

    x1796vc47blahblah = \'Mr. Morton\'  

    不過這樣在程序中會很難記住。如果使用這些變量名,出錯的可能性會更大。應該盡量使用能夠說明用途的名字,可以告訴你變量要用來做什麼。

  • 變量名區分大小寫。這說明大寫和小寫是不同的。所以 teacherTeacher 是兩個完全不同的名字。

記住,如果想瞭解 Python 的所有變量命名規則,可以查看附錄 A。

像程序員一樣思考

我們曾經說過,你可以為變量取任何名字(不過前提是要滿足命名規則),這一點不假。你可以把變量叫做 teacher 或者 Teacher,這兩個名字都是可以的。

專業的 Python 程序員給變量命名時幾乎總是以小寫字母開頭,其他計算機語言可能會採用不同風格。是否遵循 Python 風格由你來決定。因為我們使用的是 Python,所以這本書後面都會遵循這種風格。

你學到了什麼

這一章中,你學到了以下內容。

  • 如何使用變量在計算機內存中「記住」或保存信息。

  • 變量也叫做「名字」或「變量名」。

  • 變量可以是不同類型的東西,如數字和字符串。

測試題

1. 如何告訴 Python 變量是字符串(字符)而不是數字?

2. 一旦創建一個變量,能不能改變賦給這個變量的值?

3. 變量名 TEACHERTEACHEr 相同嗎?

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 變量。)