重點整理

  • IDLE為Python提供的圖形化使用者介面,在其內的Python Shell之中,我們便可直接與Python直譯器進行互動,譬如利用加減乘除等的運算子進行計算,或是利用類似命令提示字元視窗的指令使用特定功能,當然,我們也能夠運用print陳述印出字串內容。
  • 若在Python Shell的提示符號後鍵入license(),我們可以得到Python直譯器的版本資訊;若是鍵入help(),我們便可依提示查詢相關說明。
  • Python直譯器計算的除法為整數除法,若是要得到帶有小數的計算結果,需要將除數或被除數兩者之一改為帶有小數點。因為小數在電腦中是模擬計算出來的,如0.1在電腦中實際的值可能為0.10000000000000001。
  • 表示加法的運算子:「+」;減法:「-」;乘法:「*」;除法:「/」;取餘數:「%」;計算次方:「**」。
  • 資料型態為該資料數值的類型,程式依據資料型態處理資料,因此認識資料屬於何種型態是很重要且基本的觀念。基本的數字型資料型態有整數及浮點數等,處理文字的資料型態則為字串。
  • 利用指派陳述可以將數值儲存到變數內,變數的用法大體上與數學相似,其為用名稱取代某些數值。
  • 字串中的字元可依索引值切出,利用ASCII編碼的英文字母都是一個字元,索引間隔為1,但是利用Big5編碼的中文為兩個字元,導致每個文字索引值間隔為2。跳脫序列在字串中為不可見的字元,仍是有其編碼符號,如空格、tab鍵等。

術語解釋


術語解釋
運算子計算所用的符號,如加號 +,減號 -,乘號 *,除號 / 等。
運算元計算中所用的數值。
運算式由運算子與運算元構成的式子,可求出結果。
資料型態程式中數值的類型,數字處理方面有整數、浮點數等,而文字處理方面有字串等。
整數不帶有小數的數字型資料型態,如-1、-2、0、1、2…等。
浮點數帶有小數的數字型資料型態,如1.23、0.08等。
參數呼叫函數所需的數值,又被稱為引數。
TypeError型態錯誤的名稱,通常發生在運算式中數值不符合的情況,如整數可跟浮點數相加,但整數或浮點數無法與字串相加。
TracebackPython直譯器回朔錯誤發生軌跡的方法,直到標出錯誤發生的起點為止。
變數程式中暫時儲存數值的替代名稱,可隨程式進行而改變其內所儲存的數值。
指派將數值儲存到變數的過程,由指派運算子(=)構成指派陳述。
陳述凡是程式中單獨一行的指令都被稱為陳述。
字串文字型的資料型態,其為由單引號(‘’)或雙引號(“”)包圍起來的數值。
索引值字串中每個字元依左排列到右的編號,從0開始,每多一個字元便遞增1。
編碼電腦保存呈現文字、圖像或其他檔案格式的方法,常見的文字編碼有ASCII、Big5及Unicode等。
切出Python內建序列的一種特殊用法,可以個別取出序列中的單獨元素或一組連續的元素,屬於序列的型態有字串、串列等。
跳脫序列文字編碼中的不可見字元的總稱,如空格、tab之類的字元。
Big5又稱為大五碼,其為繁體中文常見的編碼方法。
ASCIIAmerican Standard Code for Information Interchange的頭字母縮寫詞,其為拉丁語系國家常漸得編碼方法,包含二十六個英文大小寫字母,半形標點符號與一些不可件字元等。

中英文術語對照


中文英文
應用軟體application software
文字編輯器text editor
除錯debug
提示符號prompt
整數除法integer devision
精確度precision
運算子operator
運算元operand
運算式expression
資料型態data type
整數integer
浮點數floating point
參數parameter, argument
變數variable
指派assignment
陳述statement
字串string
索引值index
編碼encode
切出slicing
跳脫序列escape sequence

複習問題

  1. 你的Python版本是多少呢?在Python Shell中鍵入license()後首先出現的資訊是有關Python的歷史,2000年與2001年分別發生的什麼事情呢?
  2. 運算子有哪些呢?試看看在提示符號後鍵入「1>2」及「1<2」,這會發生什麼結果呢?又有沒有先乘除後加減的計算順序呢?
  3. 浮點數的細微誤差有辦法改善嗎?還是說如果需要非常精確的結果,我們就只能利用整數進行運算呢?
  4. 資料型態間要怎麼相互轉換呢?譬如兩個浮點數相除要得到整數的結果,或是需要將所計算出的數字型態轉換成字串,這要怎麼做呢?
  5. 請在help()的互動介面中查詢「while」及「for」,說說看你得到的結果為何?
  6. 如果要從字串中切出部份字元要利用索引值,索引值是從0開始的,找看看還有哪些程式語言也是以0為第一個索引值,這樣又有什麼好處呢?
  7. 除了ASCII及Big5外,電腦對文字還有哪些編碼呢?使用其他的編碼處理中文會不會比較好呢?
  8. 利用Python Shell提供的計算機功能,計算1985*3+9*5/1000然後與(1985*3+9*5)/1000的結果比較,有括弧與沒有括弧的差別在哪裡?
  9. 同樣的,利用Python Shell提供的計算機功能,計算55-55/4*4然後與55%4的結果比較,兩者有什麼差別嗎?
  10. 試看看“11”+”11”會有得到什麼結果呢?那“11”*2這樣呢?再試看看“11”*”11”“11”/2直譯器出現了什麼訊息呢?

主要參考資料

  1. Jeffrey Elkner等,How to think like a Computer Scientist: Learning with Python 2nd Edition Chapter 1、Chapter 2,2008,Open Book Project
  2. Mark Lutz,Learning Python 3rd Edition,2008,Chapter 4,O’REILLY
  3. Magnus Lie Hetland,Beginning Python: From Novice to Professional,Chapter 1, Apress
  4. Wesley J. Chun,Core Python Programming Second Edition,Chapter 2,Prentice Hall


※ 本文同時登載於 OSSF 網站的下載中心 - PDF ※ 回 - 目錄