0% found this document useful (0 votes)
7 views9 pages

Python 7

本文介紹了程式語言的基本概念,包括機器語言、組合語言和高階語言的區別,並詳細說明了開發環境、資料型態、演算子及保留字的使用。高階語言使得程式開發更為人性化,而 IDE 提供了便捷的開發工具。資料型態和演算子的理解對於程式設計至關重要。

Uploaded by

star02151
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views9 pages

Python 7

本文介紹了程式語言的基本概念,包括機器語言、組合語言和高階語言的區別,並詳細說明了開發環境、資料型態、演算子及保留字的使用。高階語言使得程式開發更為人性化,而 IDE 提供了便捷的開發工具。資料型態和演算子的理解對於程式設計至關重要。

Uploaded by

star02151
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

機器人思維與設計課程

Python 講義

指導老師:高啟洲 老師
一、程式語言

語言(Language)是人與人之間互相溝通、交換訊息、觀念的
橋樑。無論是口語、手語等肢體動作,都是以約定成俗的共同認識為
要件。同樣的,人與電腦溝通,也必須取得協調,電腦才會依照你的
指令動作,達成你想做的事情。這種電腦能夠理解的語言,稱為電腦
語言,又稱程式語言。

電腦看得懂的語言只有一種,稱為機器語言,是 CPU 可以直接


解讀的程式語言。機器語言是用二進位來表示,CPU 能直接辨識且執
行的語言。例如說,當希望電腦將暫存器 BX 的資料送到 AX 時,我們
需要對電腦下達:
1000 1001 1101 1000

然而,這樣的語言對人類來說是非常不人性化的,要想寫程式,需要
熟記所有電腦的指令及指令的含意。在用機器語言開發程式時,我們
會需要將每個步驟都詳細的用 0 與 1 對電腦下達指令,會是非常繁瑣
且費時的工作,且完成品的可讀性極差。因此,現在除了電腦生產方
面的專家會學習以外,基本上不會學機器語言。

為了讓開發程式更人性化,工程師們用簡單的英文單字來代表
連串的機械語言的指令,使其可讀性更高,且便於工程師開發。這種
以簡單英文字代表一連串指令的語言,稱為組合語言。舉例來說,上
文提到的將資料從 AX 存到 BX 的指令,我們就可以用:
MOV AX, BX

這樣簡單的指令對電腦下達。這樣來說,比起看一連串的 0 和 1,若
以組合語言撰寫程式,比較可以快速理解其每一行在執行甚麼動作。
組合語言現在也並不是開發程式的主要語言,通常會被應用在底層硬
體操作、驅動程式等領域。

雖然組合語言比起機器語言更人性化,開發更方便,但是對於
人類來說,以單字對話依舊不是日常會出現的情況。為了讓程式開發
更加接近人類在說話的方式,高階語言出現了。高階程式語言
(High-level programming language)是經過高度封裝的程式語
言,與低階語言(機器語言、組合語言)相比,他是以人類的日常語
言為基礎的一種程式語言,以一般人易於接受的文字及語言邏輯來表
示,使程式開發更加方便,有更高的可讀性,使開發、除錯、維護更
加快速,且對開發人員的門檻較低(與低階語言比較,不須理解所有
電腦的指令集)。

高階語言大抵可以分成兩種,分別是「編譯語言」及「直譯語
言」。編譯語言是指在開發完成後,需要以編譯器(Compiler)進
行編譯(Compile),Compiler 會將高階語言編譯成低階語言(也
就是把你看得懂的翻譯成電腦看得懂的),產生一個執行檔。當要執
行程式時,是執行生成的執行檔。例如:C 語言、Java(物件導向)
等。直譯語言不同於編譯語言,直譯語言在執行時會一行一行、動態
的將程式碼直譯(Interpret)成機械語言,並且直接執行。例如:
Python、JavaScript 等。
二、開發環境

通常在做程式開發時,會應用各公司出的開發工具進行開發。
這些開發工具將多數你在做 coding 的時候會需要的東西包裝起來,
使開發者可以很方便、快速的找到他要的功能。這些開發環境稱為
IDE(Integrated Development Enviropment)。

IDE 通常包含程式語言編輯器(打字的地方)、自動建構工具
(編譯器)、除錯器(Debugger),有些 IDE 更有自動排版等方便
的功能,使開發者在工作時更加方便省事。目前主流的 IDE:
Visual Studio(C/C++/C#),
Intellij(Java/Kotlin/Android), Anaconda(Python),
Jupyter(Python)。
三、資料型態

在程式設計時,我們會需要根據我們要操作的資料的種類、型
態來決定要用甚麼容器、方式來儲存,才能在最快的效率、最小的消
耗來達成我們的目的。本文介紹幾種最常使用的資料型態。

• String 字串

◦ 如其名,就是拿來儲存字元符號的。

• Short 短整數

◦ 儲存範圍較短的整數。佔 16 個 Bits(-32768~32767)

• Integer 整數

◦ 儲存整數。佔 32 個 bits(-2147483648~2147483647)

• Long 長整數

◦ 儲存較長的整數。佔 64 個 bits(很大)

• float 浮點數

◦ 儲存有小數點的數。佔 32 個 bits(很大)

• Double 雙精度浮點數

◦ 儲存有小數點的數。佔 64 個 bits(超級大)

• Array 陣列(資料結構)

◦ 陣列是一種資料結構,是由多數資料型態組成,根據排列組
合方法等進行操作,來簡化程式開發或是加快效率。

◦ 陣列是一組資料的群組,在陣列中每筆資料會有一個索引
(Index),只需指定某索引,即可對該筆資料進行存取。
◦ Index 從 0 開始(各語言不同,但是主要都是從 0)

(・∀・)思考一下(・∀・)

1.若 Long 的儲存範圍比 Integer 大;Integer 比 short 大,為


何需要有 integer 或是 short 的存在?直接全部用 Long 不就
好了?

2.下圖輸出結果為?
四、演算子

程式語言的演算子分成兩種,分別是「邏輯演算子」跟「算數
演算子」。邏輯演算子用來表示一件事情的邏輯(成立或不成立;
True and False);算數演算子是用來做運算的。下文以兩個變數
A、B 為例:

• 算數演算子
◦A + B

▪ A 與 B 相加。若想將 B 加到 A,則為 A += B
◦A – B

▪ A 與 B 相減。若想將相減結果儲存到 A,則為 A -= B
◦A * B

▪ A 與 B 相乘。若想將相乘結果儲存到 A,則為 A *= B
◦A / B

▪ A 與 B 相除。若想將相除結果儲存到 A,則為 A /= B
◦ A // B

▪ A 與 B 相除取整數。若想將結果儲存到 A,則為 A //=


B
◦A % B

▪ A 與 B 取餘數。若想將結果儲存到 A,則為 A %= B
◦ A ** B

▪ A 的 B 次方。若想將相減結果儲存到 A,則為 A **=


B
• 邏輯演算子
◦ A == B

▪ A 與 B 相等
◦ A != B

▪ A 與 B 不相等
◦A < B

▪ A 小於 B
◦A > B

▪ A 大於 B
◦ A <= B

▪ A 小於等於 B
◦ A >= B

▪ A 大於等於 B
◦ A is B

▪ 與 A == B 邏輯同等
◦ A is not B

▪ 與 A != B 邏輯同等
◦ A and B

▪ A 邏輯且 B 邏輯都為 True


◦ A or B

▪ A 邏輯或是 B 邏輯其中一個為 True


◦ not A

▪ A 反向邏輯。
五、保留字

程式語言常會保留一些字,這些字你不能拿來當成變數的名稱
做宣告。保留字通常都有特殊的功能,本文介紹一些常用的基礎保留
字:

• if/else if/else

◦ 用來做邏輯的判斷。

◦ 舉例來說(描述語言):

• for

◦ 迴圈。設定的條件內重複執行某些動作。

◦ 舉例來說

You might also like