《Python 學習筆記》 — 浮點數與常用函式

浮點數運算、常用函式、程式的可讀性...

Frankie
CodingBar
5 min readNov 13, 2018

--

文/Frankie

在上篇文章中,我們談到了如何宣告變數及賦值,想要複習請看這邊:

這篇文章將會延伸上篇文章的內容,所以沒看過之前文章的朋友,可以補一下進度喔!

首先我們先來認識一下整數浮點數。為了釐清他們,請你打開你的 IDLE (Python內建的 IDE ),並使用學習新知的好幫手「交互模式」 ,也就是有 “>>>” 的對話模式。

浮點數運算

上篇文章中我們已經談到如何定義變數,以及為變數賦值。現在我們試試宣告一個型別為float的變數。請依序輸入:

這裡就出現了一個有趣的問題,請你再輸入一行:

你發現了嗎?出來的結果怎麼不是簡單的 0.4 呢?

Python 使用的浮點數運算受到硬體存儲方式影響,無法精確的計算。

當然,如果你想要精準的進行浮點數運算,可以利用 Decimal module 模組 (之後有機會會細說)。不過大部分的時候不會需要太精準的浮點數運算,因為大部分程式不會被小數點17位這種微乎其微的誤差影響,端看個人需求。

type( )函式

接著我們來介紹一些常用的函式(function),函式的詳細定義我們會在後面提到,現在我們先來認識一些常見且好用的內建函式吧!

首先是 type( )這個函式,函式後面的括號( )裡拿來放東西的,被放進去的東西我們稱之為參數,而type( )這個函式的功能就是告訴你:
「括號裡的東西是什麼類別。」

我們趕快來試試看吧!延續上一小節的例子,請輸入:

你應該會得到:

這就告訴了你括號中的變數 a 是class(類別) 「int」的實例,我們可以先理解為「a 的資料型態是整數(int是integer的縮寫)

type( )是不是很好用呢?以後有任何型別或類別上的疑慮,丟進type()中檢查就沒問題了,換你動手試試其他變數吧!

最常用的函式 — print( )

print()可以說是Python 中最常用的函式了!顧名思義,我們可以把print()這個功能理解為「列印結果」。使用方法和type類似,把你要打印的對象塞進括號中,這樣就行了!

(如果你的 print 不用括號也能使用,請檢查你的 Python 版本是不是Python2,為了方便快速理解概念和少走彎路,後面的所有例子都會用Python 3.x 實現。)

我們來印出一些東西吧!如果你直接輸入print(hi),你應該會得到這樣的結果:

這是因為你忽略了變數的賦值,Python 是無法打印不存在的對象的。
為什麼會這樣呢?因為Python把上面的 hi 當成了一個變數的名稱,而我們並沒有定義hi這個變數,所以就噴error了。

現在換你來print看看剛剛有定義的變數吧!

在交互模式下,如果我們要打印變數的結果,可以直接輸入 a 就好 ,但建議多練習用print()!

學Python的路上,我們還有很多東西要進行「打印」,我們需要知道要打印的東西是什麼。即使是變數這種最基礎的概念,也不能因為簡單就隨意命名,一定要保持Python 的可讀性(盡量不要像上面的例子,變數名稱只打 a , b, c ,很容易忘記)。

程式碼的可讀性

講到可讀性,我們來看看下面這段程式碼吧,即使你現在無法理解其中一些細節,但是讀了一遍之後,你也能大概猜到這段程式碼在做什麼事情吧?

這可能是你目前看到最有難度的程式碼,所以在這裡多做介紹,如果你有興趣,也可以跟著打看看 (可以練習打在一個新增的.py檔)。

首先需要注意「語法問題」,使用英文標點符號大小寫不能出錯。其次要注意文件路徑問題,你的桌面上不需要有 file.txt 這個文件,但你需要知道你的電腦上桌面文件的路徑是什麼,然後把/Users/yourname/Desktop/ 替換掉,Windows用戶應該可以直接把yourname改成使用者名稱。

這段程式碼打開了桌面上的file.txt 文件,並寫入了hello world 進去!
路徑後面的 w 代表著如果桌面上有file.txt 這個文件就直接寫入hello world ,如果沒有file.txt 這個文件就創建一個這樣的文件。

如果你沒能一眼看懂這段程式碼大概在幹嘛,其中大概有一半是因為變數命名不清楚造成的。

在大大小小練習中,哪怕很囉嗦,Bar主也會建議盡量使用「清楚明瞭的命名方式」。

關於變數命名的延伸閱讀:

駝峰式命名法帕斯卡命名法

To be continued.

--

--