開始執行Python

在這裡,我們很簡單地介紹一些在NodeMCU中會用到的Python程式設計基本能力,讓同學們在開始練習的時候,知道自己所輸入的程式碼代表的是什麼意思。首先,我們從如何在自己的電腦練習Python程式開始。

如何開始編寫及執行Python程式

在瀏覽器中執行

不管你使用的是哪一種作業系統,只要能夠執行Chrome瀏覽器,就可以輕易地連結到以下任一個線上Python執行環境,在瀏覽器中直接練習Python:

其實還有非常多可以選擇,您只要到Google搜尋一下Python online editor,就可以找到一大堆了。

Windows

在Windows作業系統之下,建議同學們直接先到以下的連結下載Anaconda的安裝檔案,並執行安裝:

https://www.anaconda.com/download/

從 網頁中的連結也可以得知,Anaconda除了支援Windows之外,也支援了Mac OS以及Linux,所以建議不管你是什麼作業系統,都可以安裝Anaconda,方便使用許多常用的Python套件。

安裝完畢之後,就可以在程式集中看到「Anaconda Prompt」的可執行檔,點擊執行之後,就會進入具備有Python執行環境的命令提示字元,此時只要鍵入python即可:

(base) C:\Users\USER>python
Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

當然,建議使用ipython會比較好用的Shell環境,如下所示:

(base) C:\Users\USER>ipython
Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]:

Mac OS or Linux

如果你使用的是Mac OS或是Linux作業系統,那麼很簡單,只要終端機模式下鍵入以下的指令就可以了:

$ python

如果你使用的是 Windows作業系統的話,在預設的情況下是沒有Python解譯器的,還需要經過安裝的步驟才可以執行,而且執行的地方,是在命令提示字元中,在後面我們會有說明。

一旦執行了Python之後,就可以看到如下所示的Shell介面:

>>>

上述的符號就是Python直譯器的命令提示字元,我們可以直接在>>>的符號之後輸入Python指令,任一指令在按下Enter之後,即會被執行,並輸出結果,如下所示:

>>> print("Hello world!")
Hello world!

你的第一支Python程式

以下是一個列出10個1~6之間隨機整數的小程式:

first.py
import random
for i in range(10):
print(random.randint(1,6))

我們使用文字編輯器把這個程式檔案輸入之後,命名為first.py儲存起來,再透過python first.py執行它,執行結果如下:

(base) C:\Users\USER>python first.py
3
6
3
3
1
6
1
5
2
5

此程式在第一行以import指令匯入使用隨機數的相關函數,然後透過for迴圈,設定執行10次,其中range是一個內建的函數,它會產生0到指定之數字的前一個數的列表,如下所示:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

要留意的是,在Python 3之後,它並不能直接以串列的型式呈現,而是一個叫做range的類別,但是我們還是可以一個一個地取出,就好像是在對待串列一樣。

因此迴圈指定變數 i 依序指定為這些數字,全部有10個數字,迴圈就會被執行10次。每次執行時,都會去呼叫random.randint(1,6)函數,其中random是套件的名稱,randint則是函數的名稱。此函數的功用就是從指定的兩個數字範圍中,隨機傳回一個其中的數字。

特別要留意的是,Python語言利用縮排來決定程式區塊的從屬關係,因此程式中的第3行一定要縮排進去,才能夠當做是迴圈指令的一部份。

請同學們留意,上述的內容是一般的Python,而NodeMCU的Python環境使用的是MicroPython,在操作的方式上以及語法上有許多的不同喔。

MicroPython可以算是Python的精簡版,是被用來支持嵌入式系統(微控制器)的一個分支,它在許多著名的開發板上實現,這些開發板包括BBC micro:bit以及NodeMCU。

而且要留意的是,這些開發板並不是購入之後本身預設就支援MicroPython,而是要先安裝驅動程式,然後透過一些軟體把MicroPython所需要的韌體燒錄到板子上才可以。