Last Updated on 2021-10-11 by Clay
今天要紀錄的是 Python 當中一個重要的基本概念,而這種基本概念是幾乎所有程式語言共通的。
比如說:
- 什麼是『變數』?
- 數字又該怎麼進行『加減乘除』?
- 什麼是變數的『資料型態』?
這是所有程式設計的基本。掌握了這些概念,我們接下來才能不出錯誤地設計我們的程式。
那麼以下,我們直接開始吧!
加減乘除
在最底層的電腦當中,電腦只能處理 0 和 1 這樣的數字,由高電位和低電位分別來代表。
所以程式處理的東西其實便是數字,但既然說到了數字,『加減乘除』這樣的處理是必不可少的。所幸,在 Python 中,進行數字運算可說是非常地直覺。
print(2+2)
print(50-6)
print(7*7)
print(8/2)
由上到下,分別是『加』、『減』、『乘』、『除』等四種運算模式。至於我們印出的結果呢?
4
44
49
4.0
我們也來進行人工計算
2 + 2 = 4
50 - 6 = 44
7 * 7 = 49
8 / 2 = 4
答案是對的。只要指令沒有輸入錯誤,基本上電腦是不會犯錯的。不過剛好,我們遇到了另外一個問題:在以上 Python 印出來的結果當中,有沒有覺得其中有個『數字』特別不一樣?
沒錯,就是 "4.0"。而這又剛好是我今天想要紀錄的另外一個主題:『資料型態』。
在 Python 中,我們不用像其他語言一樣事先定義變數(『變數』後面會提到)的資料型態,這可說是動態語言的特性。這雖然方便撰寫程式碼,卻也造成我們在程式除錯的過程中,需要常常使用 "type()" 這個指來檢查我們資料的型態。
print(type(2 + 2))
print(type(50 - 6))
print(type(7 * 7))
print(type(8 / 2))
我們可以透過以上的程式碼,使用 type()
這個指令看到我們所輸出數值的資料型態。
<class 'int'>
<class 'int'>
<class 'int'>
<class 'float'>
這樣一來就很明顯了,最後一個型態是 float
。
float
是什麼呢?跟 int
又有什麼區別?
我們可以理解 float
是代表『浮點數』的『資料型態』、而 int
則為代表『整數』的『資料型態』。
Python 的除法 /
,為了能夠因應除法會有小數點的情況,故會自動將我們所輸出的數值轉成 float
這樣的資料型態,即便是『整除』也是如此。這就是為什麼只有除法會印出不一樣的數值型態。
題外化,其實我們也可以透過整除 //
符號,來進行數值的整除。
print(100 / 7)
print(100 // 7)
Output:
14.285714285714286
14
我們可以看到,使用整除 //
符號回傳的結果,已經自動捨棄了小數點。
以上就是 Python 中基本的加減乘除,你可以多試試 Python 裡頭數值計算的功能,用習慣之後,我個人甚至會拿這個取代計算機呢。
順帶一題,有個套件的名稱是 math
,可以直接匯入進程式中調用,裡頭包涵了大量數學的公式可以直接使用。
希望以後有機會可以發一篇這樣的教學文。
字串、變數
想了想,最終還是決定將字串跟變數一起講。絕對不是因為覺得需要充版面
字串,顧名思義即是一整串的文字,其資料型態為 str
。
變數則是我們自己命名的一個『值』,它可以是任何型態,比如說 int
、float
、str
...... 在 Python 中取決於我們一開始賦予它什麼樣的資料型態。
我們來看一段簡短的範例。
text = "今天天氣真好呢,真想出去玩。"
print(type(text))
print(text)
Output:
<class 'str'>
今天天氣真好呢,真想出去玩。
第一行的 text
,即是前文提到的『變數』。我們可以自由地將變數命名、自由地將變數進行加減乘除 (如果是數值的情況)。
而在這裡,我們首先替變數賦值,也就是我們將 "今天天氣真好呢,真想出去玩。" 這句話賦值給了變數 text
。
所以,第二行 text
的資料型態就是 str
。而第三行要使用 print("text")
時,印出的就是 "今天天氣真好呢,真想出去玩。" 這句話。
以上,今天的三個主題基本都已經講完了,最後,就來簡單說明下字串的一些特性吧。
一、 字串是可以進行加乘的
text_1 = '今天天氣真好呢,'
text_2 = '真想出去玩。'
print(text_1 + text_2)
這裡是『加』的情況,我們可以發現兩個字串的變數合在一起印出來了:
今天天氣真好呢,真想出去玩。
那麼,我們更改一下程式碼,來看看『乘法』的情況:
text_1 = '今天天氣真好呢,'
text_2 = '真想出去玩。'
print(text_1 * 3)
Output:
今天天氣真好呢,今天天氣真好呢,今天天氣真好呢,
可以看到,程式很精確地印了三次。
即使不符合文法,程式也會乖乖地執行你所下的指令,這就是程式令人痛恨、可是卻又令人喜愛的部份。
二、 字串是可以透過『編號』(index) 呼叫單個『字元』的
text = '今天天氣真好呢,真想出去玩。'
print(text[0])
print(text[1])
print(text[2])
以上這些程式碼,分別呼叫了第一個字元、第二個字元、第三個字元。(程式的編號通常都是由 0 算起的!)
以下我們會分別印出:
今
天
天
但其實,我們是可以不用這麼麻煩的。
text = '今天天氣真好呢,真想出去玩。'
print(text[:])
使用冒號 :
,即是遍歷整個字串的每個字元。
今天天氣真好呢,真想出去玩。
這在往後若是需要使用自然語言處理方面的工具,這是非常重要的功能呢。
以上,就是今天的教學,關於簡單的 Python 加減乘除、字串、變數。