MicroPython文檔:?https://docs.micropython.org/
MicroPython是編程語言 Python3 的精簡高效實現,語法和 Python3 保持一致,但只實現了 Python 標準庫的一小部分,并且經過優化,適用于物聯網 (IoT)、消費電子和嵌入式系統等領域。,所以我們在使用 MicroPython 需要了解其語法,其有以下特點:
輕量級設計:
- MicroPython 是專為運行在微控制器上的 Python 實現,既有精簡的內存占用也有高效的性能表現。
Python 語法支持:
- 盡管是標準python輕量級的實現,MicroPython 支持大部分 Python 3 的核心語法和許多標準庫。所以學習成本極低,對熟悉 Python 的開發者非常友好。
硬件訪問能力:
- MicroPython 提供訪問底層硬件的接口,比如 GPIO(通用輸入輸出)、I2C、SPI、PWM、ADC(模擬數字轉換)等,方便直接控制硬件。
交互式 REPL:
- 廬山派K230通過虛擬串口提供了?交互式解釋器?REPL(讀取(Read)-運算(Eval)-輸出(Print)-循環(Loop))接口,可以通過串口實現實時交互,幫助調試和測試代碼。可以把它類比理解為電腦上的控制臺。
1 注釋?
在Python中使用"#"進行單行注釋,使用三個單引號 '''...''' 或3個雙引號 """...""" 進行多行注釋。注釋對于代碼的可讀性和維護都非常重要。
#這個是單行注釋''' 這個是多行注釋 ''' """ 這個也是多行注釋 """
需要注意的是,在MicroPython中是不需要在語句的結尾加分號的。
2 運算符?
算術(數學)運算符:
下表中說明的a=10,b=5
3 數據類型轉換?
4 字符串?
字符串的三種定義方式-> 單引號定義法; 雙引號定義法; 三引號定義法;
其中,單引號定義法,可以內含雙引號;
雙引號定義法可以內含單引號 ;并且可以使用轉義字符(\)來將引號解除效用,變成普通字符串
name = '立創開發板' #單引號定義法
name = "立創開發板" #雙引號定義法
name = """立創開發板""" #三引號定義法
4.1 字符串拼接?
name = 'LCKFB'
print("hello " + name)
注意:字符串無法和非字符串變量進行拼接
name = 'LCKFB'
print("hello " + name, end='')
默認print語句輸出內容會自動換行,在print語句中,加上 end=‘’ 即可輸出不換行了。
使用print()函數可以將數據打印到終端。
4.2 字符串格式化?
我們可以通過如下語法,完成字符串和變量的快速拼接。
如下代碼,完成字符串、整數、浮點數,三種不同類型變量的占位。
name = "張三"
age = 18
weight = 140.54
message = "我叫%s,今年%d歲,體重%f斤" % (name, age, weight)
print(message)
注意:這種寫法不做精度控制也不理會類型。
5 判斷語句?
if語句的基本格式
if age >= 18:print("你是一個成年人了")
歸屬于if判斷的代碼語句塊,需在前方填充4個空格縮進。
Python通過縮進判斷代碼塊的歸屬關系。
if...else語句格式
if age >= 18:print("你的年齡大于等于18歲")
elif age > 10:print("你的年齡大于10歲并且小于18歲")
else:print("你的年齡小于等于10歲")
6 循環語句?
6.1 while循環?
i = 0
while i < 10:print("i = %d" % i)i += 1
6.2 for循環?
name = "LCKFB"
for x in name:print(x)
語法一:range(num)
range語句是用于獲得一個數字序列。指的是從0開始,到num結束(不含num本身)
for x in range(5):print(x)
語法二:range(num1, num2)
for x in range(5, 10):print(x)
指的是從num1開始,到num2結束(不含num2本身)
7 函數?
函數是組織好的,可重復使用的,用來實現特定功能的代碼段。 函數的定義:
def 函數名(傳入參數):函數體return 返回值
注意: 如果函數沒有使用return語句返回數據,會返回None這個字面量;在if判斷中,None等同于False;定義變量,但暫時不需要變量有具體值,可以用None來代替。
使用 global關鍵字 可以在函數內部聲明變量為全局變量,相當于C語言里的static。
def test():global numnum = 200print(num)
8 類和繼承?
在Python中,可以通過定義類來實現面向對象編程。類包含數據和函數,數據保存在類的屬性中,而函數保存在類的方法中。通過創建類,可以生成相同類型(或者父類)的多個對象,它們共享相同的屬性和方法。
繼承是指一個類可以派生出另一個子類,而子類繼承了父類的屬性和方法。子類可以進一步重載父類的方法或者添加新的屬性和方法,從而實現對父類的擴展。
- 定義類:
使用 class 關鍵字定義一個類,并使用代碼塊來編寫類的屬性和方法。例如:
class MyClass:def __init__(self, param):self.param = paramdef method(self):# 方法實現pass
- 實例化對象:
通過調用類的構造函數,可以創建類的實例(對象)。例如:
my_object = MyClass("value")
- 訪問屬性和調用方法:
使用對象名后跟 . 來訪問對象的屬性和方法。例如:
value = my_object.param
my_object.method()
- 繼承:
在 microPython 中,您可以使用繼承來創建一個類從另一個類繼承屬性和方法。通過繼承,子類可以獲得父類的特征并添加自己的特定功能。例如:
class ChildClass(MyClass):def __init__(self, param, child_param):super().__init__(param)self.child_param = child_paramdef child_method(self):# 子類方法實現pass
在上面的示例中,ChildClass 繼承了 MyClass,并添加了自己的屬性和方法。super().init(param) 調用父類的構造函數。
- 多重繼承: microPython 支持多重繼承,即一個類可以從多于一個父類繼承。多重繼承可通過在類定義中列出多個父類來實現。例如:
class ChildClass(ParentClass1, ParentClass2): # 類定義
pass
這些是 microPython 中類和繼承的基本用法。類和繼承是面向對象編程的核心概念,可以幫助您組織和抽象代碼,實現代碼的重用和擴展性。