micropython从0到1_micropython⼊门教程
⽬录
1、microPython简介
Damien George是⼀名计算机⼯程师,他每天都要使⽤Python语⾔⼯作,同时也在做⼀些机器⼈项⽬。有⼀天,他突然冒出了⼀个想法:能否⽤Python语⾔来控制单⽚机,进⾏实现对机器⼈的操控呢?
要知道,Python是⼀款⽐较容易上⼿的脚本语⾔,⽽且有强⼤的社区⽀持,⼀些⾮计算机专业领域的⼈都选它作为⼊门语⾔。遗憾的是,它不能实现⼀些⾮常底层的操控,所以在硬件领域并不起眼。
Damien为了突破这种限制,他花费了六个⽉的时间来打造Micro Python。它基于ANSI C,语法跟Pyton 3基本⼀致,拥有⾃家的解析器、编译器、虚拟机和类库等。⽬前他⽀持很多32-bit处理器,⽐如说STM32系列,esp8266,esp32,rtl8195a,nrf51822等。
借助Micro Python,⽤户完全可以通过Python脚本语⾔实现硬件底层的访问和控制,⽐如说控制LED灯泡、LCD显⽰器、读取电压、控制电机、访问SD卡、访问⽹络、访问蓝⽛、读取传感器等。
2、本⽂⽬标
阅读本⽂后,可以对micropython有个初步了解,主要涉及变量数据类型和基础语法。为了防⽌枯燥,深⼊的语法内容我们会结合后⾯的例⼦给⼤家详细讲解,建议⼿动敲⼊代码进⾏实际操作,以加深理解。
3、变量数据类型
字符型
字符型是以单引号'或双引号"括起来的任意⽂本,⽐如'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(注意⾸字母⼤写)。
应⽤例⼦:
>>>True
True
>>>3>2
True
子程序结束指令>>>5>7
False
and运算是与运算,只有所有都为True,and运算结果才是True
>>>True
True
>>>True
and False
False
or运算是或运算,只要其中有⼀个为True,or运算结果就是True
>>>True
procreate教程
or Trueconstant到底是变还是不变
True
>>>True
or False
True
not运算是⾮运算,它是⼀个单⽬运算符,把True变成False,False变成True
>>>not True
False
>>>not 1>5
True
布尔值经常⽤在条件判断中,eg:
>>>def int(age):
if age>=18:
print(‘adult’)
else:
print(‘teenager’)
整型
创建⼀个新整型变量和给变量赋值是相同的过程,a = 123 或 b = -123 等号左边是变量名,右边是要赋的值,就是这么简单。⾃然赋值时候的数据要是整数才⾏,整数简单理解为(正整数和负整数),micropython⽬前可以⽀持的整型数据类型变量前的操作符有:加(+)、减
(-)、乘(×)、除(/)和幂(**)。
浮点型
浮点数也就是⼩数,之所以称为浮点数,是因为按照科学记数法表⽰时,⼀个浮点数的⼩数点位置是可变的,⽐如,1.23×109和
12.3×108是完全相等的。浮点数可以⽤数学写法,如1.23,3.14,-9.01,等等。但是对于很⼤或很⼩的浮点数,就必须⽤科学计数法表⽰,把10⽤e替代,1.23×109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。如果以上你不能理解,那么就⼀句话---浮点数就是不精确的⼩数。浮点数运算可能会有四舍五⼊的误差。
>>>pi=3.14
c语言背包问题 贪心算法>>>print(pi)
3.14
在不同的平台下(⽐如:esp32、esp8266、ameba等),输出的π值可能会不同。
tuple是⼀种有序列表,tuple和list⾮常类似,但是tuple⼀旦初始化就不能修改,显⽰只有1个元素的tuple时,会加⼀个逗号。eg:>>>t=(1,)
>>>t
(1,)
如上我们定义的就是⼀个tuple,t=(1,)。
如果没有逗号,这定义的就不是tuple,eg:
>>>t=(1)
>>>t
1
当把两个元祖合在⼀起输出时,它的输出结果是两个元祖所有的元素,eg:
>>>t1=(1,2,3)
>>>t2 = (4,5,6)
>>>Print(t1+t2)
(1,2,3,4,5,6)
列表(List)
list内容可更改,list是⼀种有序的集合,可以随时添加和删除其中的元素
>>>l=[1,2,3,4]
>>>print(l)
[1,2,3,4]
定义⼀个l=[1,2,3,4]的list,
变量l就是⼀个list,⽤len()函数可以获得list元素的个数
>>>len(l)
4
⽤索引来访问list中每⼀个位置的元素,记得索引是从0开始的。
>>>l[2]
3
>>>l[0]
1
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置。
>>>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内置了字典:dict的⽀持,dict全称dictionary,在C++和java等其他语⾔中也称为map,使⽤键-值(key-value)存储,⼀般在内存中以红⿊树⽅式存储,具有极快的查速度。
>>>d={‘df’:4, ’yu’:18, ’wu’:15}
>>>d[‘yu’]
18
dict指的是字典,⽽在使⽤的时候,如果我们直接⽤dict来表⽰字典,这样显得有点⿇烦,所以我们就⽤d来代表dict,当然如果觉得不⿇烦,也可以直接⽤dict。
货单源码asp把数据放⼊dict的⽅法,除了初始化时指定外,还可以通过key放⼊:
>>>d[‘li’]=12
>>>d=[‘li’]
12
由于⼀个key只能对应⼀个value,所以,多次对⼀个key放⼊value,后⾯的值会把前⾯的值冲掉
>>>d[‘jack’]=10
>>>d[‘jack’]
10
>>> d[‘jack’]=9
>>> d[‘jack’]
9
要删除⼀个key,⽤pop(key)⽅法,对应的value也会从dict中删除
>>>d.pop(‘yu’)
18
>>>d
{‘df’:4’, ’wu’:15}
引⽤
对于不可变的对象(包括:int、字符串(string)、float、(数值型number)、元组),a作为b的⼀个拷贝被创建,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的⼀个引⽤被创建,a和b的元素公⽤相同的内存地址,a和b的元素共
享。
4.基础语法
气象python零基础入门教程
分号和冒号
每⾏不需要写分号结束,和其他语⾔有些不⼀样。当然,你写分号也没有问题,对于条件和函数,后⾯要紧跟冒号。如果在条件和函数后没有
紧跟冒号,就会报如下错误:
循环
for循环
for循环可以遍历任何序列的项⽬,如⼀个列表或者⼀个字符串,for循环的语法格式如下:
for
iterating_var in sequence:
statements(s)
eg:
>>>for i in range(5):
. . . print(i)
1
2
3
4
while循环
while 语句⽤于循环执⾏程序,即在某条件下,循环执⾏某段程序,以处理需要重复处理的相同任务。其基本形式为:
while

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。