變數是什麼?

來源:Taiwan Code School 編輯:冠樺 時間:2018/09/01 版本:Python3

你可以把變數想像成一個虛擬的盒子,替他取個有意義的名字-「命名」,然後可以在裡面擺進一些「內容」, 之後再用他的名字來提取放在裡面的內容。

命名一個變數,用一個平等符號「=」來表示。

內容可以是各種不同的資料類型,例如文字、數字、列表...等等。

範例:我建立一個變數(盒子),我把他叫做 x ,然後把 12 放進去。

In [1]:
x = 12

到目前為止,還不會有任何輸出 (只是把東西放進盒子裡,還沒做一個打開的動作)。

In [2]:
print(x)
12

直到你呼叫了它的名稱來提取它的內容,或將他print()出來。

In [3]:
x = 12
x = x + 3
print(x)
15

在 = (等號) 右邊的算式,一定會算完才會把計算完成的結果放進 = (等號) 左邊的變數盒子中。

程式執行時,是一行一行執行的,當你拿取盒子裡的東西時,一定是你最後放進去的東西。

In [4]:
x = 'Taiwan '
y = 'Code School'
print(x + y)
Taiwan Code School

幫我們把字串放進去時,python也可以用 + 號把字串放在一起。 記得字串的表示方式一定要用 " (雙引號) 包起來才可以。

In [5]:
x = '哈哈'
y = 12
print(x + y)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-a89c54904439> in <module>()
      1 x = '哈哈'
      2 y = 12
----> 3 print(x + y)

TypeError: must be str, not int

但是要注意,不能用兩種資料類型混合一起,這樣子python會不知道怎麼算,就出現錯誤了。

小技巧

變數的命名規則:

  • 一定要以文字開頭(不能以數字、特殊字元開頭,因為這些符號對python來說是不同的意義)
    • 好的命名: Box 或 box 或 box_1 或 box123
    • 不好的命名: 123box 或 box.123 或 !#%box
In [6]:
123box = 30
  File "<ipython-input-6-6932fe8aaa7d>", line 1
    123box = 30
         ^
SyntaxError: invalid syntax
  • 英文的大小寫對python來說是不一樣的。 Box 和 box 和 BOX 對python來說都是不一樣的。
In [7]:
Box = 100
box = 5
print(Box)
print(box)
100
5
  • 要用有意義的變數名稱。
In [8]:
asdfghj = 5
jhgfdsa = 10
qwertyu = asdfghj * jhgfdsa
print(qwertyu)
50

以上是沒有意義的變數名稱,對python來說不痛不癢,它還是算得出來,但是對人類來說,很不好讀,只會讓人頭痛。 :(

In [9]:
Length = 5 
Width = 10
Area = Length * Width
print(Area)
50

這樣看起來好多了! :)