Skip to content

[Python] 基本教學(2) 加減乘除、字串、變數

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
變數則是我們自己命名的一個『值』,它可以是任何型態,比如說 intfloatstr ...... 在 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 加減乘除、字串、變數。


References


Read more

Tags:

Leave a Reply