基本觀念之1~變數與資料型態
1-1:變數與資料型態 Python的變數,和國中時候學過的未知數X、Y、Z,有些類似,但又差異甚大。未知數的值從頭到尾都是固定的,計算過程只是在求解唯一的答案;但變數(variable)的值卻是可改變的,從程式一開始、到程式中段、到程式結尾,都可以因為運算處理,而改變其所代表的值。 所以一個變數有兩個含意,一個是變數名稱,另一個是變數值。例如num=100,表示其變數名稱為num,而其變數值為100,等號”=”在這裡,有指定、賦予變數值的意思。 我們可以用一個箱子表面貼的標籤來表示變數名稱,放進箱子裡面的資料為變數值。變數名稱是維持固定的,但放進箱子的變數值,卻可隨程式的執行而改變,如下圖所示: 我們將上面num=200的例子再延伸。在代數式的運算中,x=x+100是不合理的,因為等號左右的x消掉後,會得到0=100;但在程式設計中,類似num=num+100的運算,卻常常會出現。 因為在等號(=)右邊的num,代表變數值200,它和100相加得到300,然後再把300指定給左邊自己的變數名稱num,從而取代了舊值200。 這個過程,我們用程式碼和示意圖來表示: 我們還記得變數有兩個含意,在此謹記著,出現在等號左手邊的,代表變數名稱;出現在等號右手邊的,代表變數值。 變數的名稱,和往後會介紹的函式名稱、類別名稱,都稱為識別字(identifier),顧名思義,就是一看到名稱,大概就能猜測到它被賦予的資料性質。例如name代表姓名(字串,str),age代表年紀(整數,int),average代表平均值(浮點數,float)。所以在變數命名上,應該使用有意義的英文名稱。 除此之外,還有一些命名的規則要遵循。例如,名稱的字首,最好用小寫或大寫的英文字母,不可以是數字,如5name;不可使用程式或系統的指令(關鍵字/保留字),例如像print,if、else,class等。 如果需要使用到兩個以上英文字來命名,字間用底線隔開不要有空格,例如bool_for_comparison=100>200,代表bool(布林)資料型態的變數值,是來自比較運算100>200後的結果,執行print(bool_for_comparison),會得到布林資料型態中的False值。