日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

micropython是啥 知乎_micropython入门教程

發(fā)布時間:2024/10/14 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 micropython是啥 知乎_micropython入门教程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

1、microPython簡介

Damien George是一名計算機工程師,他每天都要使用Python語言工作,同時也在做一些機器人項目。有一天,他突然冒出了一個想法:能否用Python語言來控制單片機,進行實現(xiàn)對機器人的操控呢?

要知道,Python是一款比較容易上手的腳本語言,而且有強大的社區(qū)支持,一些非計算機專業(yè)領(lǐng)域的人都選它作為入門語言。遺憾的是,它不能實現(xiàn)一些非常底層的操控,所以在硬件領(lǐng)域并不起眼。

Damien為了突破這種限制,他花費了六個月的時間來打造Micro Python。它基于ANSI C,語法跟Pyton 3基本一致,擁有自家的解析器、編譯器、虛擬機和類庫等。目前他支持很多32-bit處理器,比如說STM32系列,esp8266,esp32,rtl8195a,nrf51822等。

借助Micro Python,用戶完全可以通過Python腳本語言實現(xiàn)硬件底層的訪問和控制,比如說控制LED燈泡、LCD顯示器、讀取電壓、控制電機、訪問SD卡、訪問網(wǎng)絡(luò)、訪問藍牙、讀取傳感器等。

2、本文目標

閱讀本文后,可以對micropython有個初步了解,主要涉及變量數(shù)據(jù)類型和基礎(chǔ)語法。為了防止枯燥,深入的語法內(nèi)容我們會結(jié)合后面的例子給大家詳細講解,建議手動敲入代碼進行實際操作,以加深理解。

3、變量數(shù)據(jù)類型

字符型

字符型是以單引號'或雙引號"括起來的任意文本,比如'abc',"xyz"等等。' '或 " "本身只是一種表示字符的符號,不是字符串的一部分,因此,字符串'abc'只有a,b,c這3個字符。如果'本身也是一個字符,那就可以用""括起來,比如"I'm

OK"包含的字符是I,',m,空格,O,K這6個字符,示例:

>>>str=“hello DFRobot”

>>>Print(str)

hello DFRobot

str是定義的一個字符串變量并賦值為hello

DFRobot,然后輸出該字符串。

布爾類型

一個布爾值只有兩種值,要么是True 、要么是False(注意首字母大寫)。

應(yīng)用例子:

>>>True

True

>>>3>2

True

>>>5>7

False

and運算是與運算,只有所有都為True,and運算結(jié)果才是True

>>>True

and True

True

>>>True

and False

False

or運算是或運算,只要其中有一個為True,or運算結(jié)果就是True

>>>True

or True

True

>>>True

or False

True

not運算是非運算,它是一個單目運算符,把True變成False,False變成True

>>>not True

False

>>>not 1>5

True

布爾值經(jīng)常用在條件判斷中,eg:

>>>def int(age):

if age>=18:

print(‘a(chǎn)dult’)

else:

print(‘teenager’)

整型

創(chuàng)建一個新整型變量和給變量賦值是相同的過程,a = 123 或 b = -123 等號左邊是變量名,右邊是要賦的值,就是這么簡單。自然賦值時候的數(shù)據(jù)要是整數(shù)才行,整數(shù)簡單理解為(正整數(shù)和負整數(shù)),micropython目前可以支持的整型數(shù)據(jù)類型變量前的操作符有:加(+)、減(-)、乘(×)、除(/)和冪(**)。

浮點型

浮點數(shù)也就是小數(shù),之所以稱為浮點數(shù),是因為按照科學(xué)記數(shù)法表示時,一個浮點數(shù)的小數(shù)點位置是可變的,比如,1.23×109和12.3×108是完全相等的。浮點數(shù)可以用數(shù)學(xué)寫法,如1.23,3.14,-9.01,等等。但是對于很大或很小的浮點數(shù),就必須用科學(xué)計數(shù)法表示,把10用e替代,1.23×109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。如果以上你不能理解,那么就一句話---浮點數(shù)就是不精確的小數(shù)。浮點數(shù)運算可能會有四舍五入的誤差。

>>>pi=3.14

>>>print(pi)

3.14

在不同的平臺下(比如:esp32、esp8266、ameba等),輸出的π值可能會不同。

元組(Tuple)

tuple是一種有序列表,tuple和list非常類似,但是tuple一旦初始化就不能修改,顯示只有1個元素的tuple時,會加一個逗號。eg:

>>>t=(1,)

>>>t

(1,)

如上我們定義的就是一個tuple,t=(1,)。

如果沒有逗號,這定義的就不是tuple,eg:

>>>t=(1)

>>>t

1

當把兩個元祖合在一起輸出時,它的輸出結(jié)果是兩個元祖所有的元素,eg:

>>>t1=(1,2,3)

>>>t2 = (4,5,6)

>>>Print(t1+t2)

(1,2,3,4,5,6)

列表(List)

list內(nèi)容可更改,list是一種有序的集合,可以隨時添加和刪除其中的元素

>>>l=[1,2,3,4]

>>>print(l)

[1,2,3,4]

定義一個l=[1,2,3,4]的list,

變量l就是一個list,用len()函數(shù)可以獲得list元素的個數(shù)

>>>len(l)

4

用索引來訪問list中每一個位置的元素,記得索引是從0開始的。

>>>l[2]

3

>>>l[0]

1

要把某個元素替換成別的元素,可以直接賦值給對應(yīng)的索引位置。

>>>l[1]=9

>>>print(l)

[1,9,3,4]

list是一個可變的有序表, 可以把元素插入到指定的位置,比如索引號為1的位置,insert(i,x)在位置i插入x,其余元素向后推,如果i大于列表長度,就在最后添加,如果i小于0,就在最開始添加。

>>>l.insert(1,6)

>>>print(l)

[1,6,2,3,4]

要刪除指定位置的元素,用pop(i)方法,其中i是索引位置。

>>>l.pop(2)

3

>>>print(l)

[1,2,4]

字典(Dict)

microPython內(nèi)置了字典:dict的支持,dict全稱dictionary,在C++和java等其他語言中也稱為map,使用鍵-值(key-value)存儲,一般在內(nèi)存中以紅黑樹方式存儲,具有極快的查找速度。

>>>d={‘df’:4, ’yu’:18, ’wu’:15}

>>>d[‘yu’]

18

dict指的是字典,而在使用的時候,如果我們直接用dict來表示字典,這樣顯得有點麻煩,所以我們就用d來代表dict,當然如果覺得不麻煩,也可以直接用dict。

把數(shù)據(jù)放入dict的方法,除了初始化時指定外,還可以通過key放入:

>>>d[‘li’]=12

>>>d=[‘li’]

12

由于一個key只能對應(yīng)一個value,所以,多次對一個key放入value,后面的值會把前面的值沖掉

>>>d[‘jack’]=10

>>>d[‘jack’]

10

>>> d[‘jack’]=9

>>> d[‘jack’]

9

要刪除一個key,用pop(key)方法,對應(yīng)的value也會從dict中刪除

>>>d.pop(‘yu’)

18

>>>d

{‘df’:4’, ’wu’:15}

引用

對于不可變的對象(包括:int、字符串(string)、float、(數(shù)值型number)、元組),a作為b的一個拷貝被創(chuàng)建,a和b將指向不同的內(nèi)存地址,a和b相互獨立,

eg:

>>>a=”I am ouki”

>>>b=a

>>>print(b)

I am ouki

>>>a=”hello DFRobot”

>>>Print(b)

I am ouki

我們定義a=” I am ouki”,然后把a的值賦給b,輸出b的值就是I am ouki,此時a的值依然是I am ouki,我們再給a賦一個新的值a=”hello

DFRobot”,然后我們再來輸出b,b的值不會改變,依然是I am ouki。

對于可變的對象(包括:字典型(dictionary)、列表型(list)),a作為b的一個引用被創(chuàng)建,a和b的元素公用相同的內(nèi)存地址,a和b的元素共享。

4.基礎(chǔ)語法

分號和冒號

每行不需要寫分號結(jié)束,和其他語言有些不一樣。當然,你寫分號也沒有問題,對于條件和函數(shù),后面要緊跟冒號。如果在條件和函數(shù)后沒有緊跟冒號,就會報如下錯誤:

循環(huán)

for循環(huán)

for循環(huán)可以遍歷任何序列的項目,如一個列表或者一個字符串,for循環(huán)的語法格式如下:

for

iterating_var in sequence:

statements(s)

eg:

>>>for i in range(5):

. . . print(i)

0

1

2

3

4

while循環(huán)

while 語句用于循環(huán)執(zhí)行程序,即在某條件下,循環(huán)執(zhí)行某段程序,以處理需要重復(fù)處理的相同任務(wù)。其基本形式為:

while

判斷條件:

執(zhí)行語句….

eg:

>>>i=9

>>>while(i>0):

. . . print(i)

. . . i-=1

9

8

7

6

5

4

3

2

1

執(zhí)行語句可以是單個語句或語句塊。判斷條件可以是任何表達式,任何非零、或非空(null)的值均為true。當判斷條件假false時,循環(huán)結(jié)束。

函數(shù)

在microPython中,定義一個函數(shù)要使用def語句,依次寫出函數(shù)名、括號、括號中的參數(shù)和冒號:,然后,在縮進塊中編寫函數(shù)體,函數(shù)的返回值用return語句返回。我們以自定義一個求絕對值的my_abs和一個求和的add函數(shù)為例。

>>>def my_abs(x):

. . . if x>=0:

. . . return x

. . . else:

. . . return -x

. . .

>>>my_abs(5)

5

>>>my_abs(-6)

6

函數(shù)定義結(jié)束后需要按兩次回車重新回到>>>提示符下:

>>>def add(a,b):

. . . retrun a+b

. . .

>>>add(4,2)

6

總結(jié)

以上是生活随笔為你收集整理的micropython是啥 知乎_micropython入门教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。