新手學Python - 03 什麼是變數?

當專案在執行時,會進行資料的處理、邏輯的運算等等

這個過程當中,一定會先儲存許多資料等待進一步的邏輯處理

這時候就要瞭解到:這些資料要儲存在哪裡呢?

資料是先將它存放在記憶體中,需要用到的時候再從記憶體將這個資料拿來用

而每個記憶體空間都有地址,有地址才知道資料被存放在什麼地方

這個就稱為記憶體位址

一般是以固定長度的位數來記憶,比如像是 0120FFAA

But ...

當我們工程師要取用這些資料來運算時

難道要知道這一串記憶體位址才能拿到資料嗎?!

NO!!!這坨位數太難記憶了!!!

因此就衍生出了「變數

直接將這個記憶體位址取名稱

就可以透過方便記憶的名稱拿到資料囉~

接下來要了解在Python當中如何建立變數

建立變數

建立變數的方式很簡單

變數名稱 = 資料

這個公式就是標準的建立變數的方式

在程式當中,一個等於代表 賦予值 的意思,與數學運算中的等於是不同的概念

建立變數,就是將資料放進去變數當中

變數的名稱是 自定義 的,也就是說想要命名什麼隨便你~

#建立變數
fruit = "apple"

#print打印出 fruit的位址
print(id(fruit)) # 140334445780784

#打印出fruit的值
print(fruit) # apple

為了顯示結果,可以使用 print() 函數打印出結果

id()函數可以知道變數的記憶體位址(你的位址可能跟我的不一樣)

P.S. # 表示註解

刪除變數

如果變數沒有再用到的話,就可以刪除變數以釋放記憶體資源

del 變數名稱
del fruit
print(fruit)

刪除剛剛所定義的 fruit 變數,再將其打印出來就會出現如下錯誤

------------------------------------------------------------
NameError                  Traceback (most recent call last)
<ipython-input-44-13884ae962ee> in <module>
----> 1 del fruit
      2 print(fruit)

NameError: name 'fruit' is not defined

錯誤訊息中的 name 'fruit' is not defined 表示fruit沒有被定義(建立)

變數的命名規則

雖然說變數是自定義的,但也有一些命名上的規定要遵守

不遵守規則就會報錯喔

  • 第一個字 必須是英文大小寫字母、底線、中文。不可是數字。
Fruit = 'apple'
_fruit = '水果'
水果 = 'banana'
  • 其他字 可由大小寫字母、底線、數字組成。
people_1 = '王小明'
  • 不可包含空格、@、% 以及 $ 等特殊字符。
# 錯誤示範
what? = '什麼'
you&me = '你和我'
  • 區分大小寫。
    大小寫不同視為不同變數,Fruit 跟 fruit 是兩個不同的變數。
Fruit = "apple"
fruit = "banana"
print(Fruit)
print(fruit)
  • 不可與關鍵字(保留字)同名。關鍵字就是指python語法,已經被Python所定義有特殊使用方式的字。像是

if else for and or while try

結語

變數的定義讓資料的儲存與取得變得更容易

而為何要稱作「變數」呢?

是因為變數中的資料可以更動

fruit = "apple"
print(fruit) # apple
fruit = "banana"
print(fruit) # banana

相同的變數可以重複地賦予值

就會讀取到最後賦予的資料(會將前面的覆蓋掉)

此範例中,fruit 變數裡面存放的值已經變成了 banana 而不是 apple

以上我們就了解到了變數!

如果支持我的分享歡迎Follow IG:新手學程式0到1 給我更多回饋~