在正式进入ESP32 MicroPython开发之前,我们先做一些简单语法学习。
使用print()函数可以将数据打印到终端
print('单片机菜鸟 MicroPython')
end=‘’
则不换行。正常来说,好的代码会在关键点给以适当的注释,好的注释就算时间久了也能记忆犹新。
单行注释
单行注释以#
开头,只要不换行跟在#
后面的内容都是注释
多行注释
可以使用多个#
号, 三个单引号(’’’
)或三个双引号("""
)
print('单片机菜鸟 MicroPython',end='') # 多行注释多行注释多行注释 # 多行注释多行注释多行注释 # 多行注释多行注释多行注释 print('单片机菜鸟 MicroPython',end='') """ 多行注释多行注释多行注释 多行注释多行注释多行注释 多行注释多行注释多行注释 """ print('单片机菜鸟 MicroPython',end='') ''' 多行注释多行注释多行注释 多行注释多行注释多行注释 多行注释多行注释多行注释 '''
一般我们的常量就是不可变,包括1、2这样的数字或者“hello”这样的字符串。MicroPython提供了一个const关键字,表示其值不可更改。
from micropython import const a = const(66) print(a) # 重新复制一个变量试试 a = 66
测试结果:
创建变量很简单,随意起名,赋予一个值,在赋值的时候不需要指定变量的数据类型(类似于c语言,int,double这些),因为变量是一个引用,它通过赋值来访问不同数据类型的对象。
随意起名并不是说真的很随意,还是需要遵循一些规则:
- 变量名只能包含数字、字母、下划线
- 变量名的第一个字符必须是字母或下划线
- 变量名区分大小写
a = "abc" #引用a指向一个字符串对象“abcd” print(a) a = 32 #引用a指向一个整型对象 print(a)
测试结果:
MicroPython中基本的数据类型有Number
(数字)、String
(字符串)、List
(列表)、Tuple
(元组)、Dictionary
(字典)等。
MicroPython支持 int
、float
、bool
、complex
(复数)。
当定义一个变量时,Number 对象被创建。 创建的Number对象,可以通过del语句进行删除。
a = 3 del a
MicroPython可以处理任意大小的整数
(包括负整数),整数的表示方法和数学上的写法一样,
1, -1, 0, 10000, …
MicroPython中用十六进制表示整数,如下
0xff00, 0xabcd, …
浮点数就是小数。
可以把10用e替代,1.23×10^9就是1.23e9,或是12.3e8,0.000012可以写成1.2e-5。
a = 1.3e6
print(a)
布尔值只有True
、False
两种值,非True则False,注意大小写
if True: print('true') else: print('false')
略
对数据内置的类型进行转换:
int(x): 将x转换为一个整数。
float(x): 将x转换到一个浮点数。
complex(x):将x转换到一个复数,实数部分为 x,虚数部分为 0。 > complex(x, y) :将 x 和 y 转换到一个复数,实数部分为x,虚数部分为 y。x 和 y 是数字表达式。
a = 10.2 print(int(a)) # 浮点数转成整数 b = 11 print(float(b)) # 整数转成浮点数
字符串是以""
或’'
括起来的任意文本(如’abc’,“xyz”)。
s = '单片机菜鸟 123456' print(s) s = "单片机菜鸟 123456" print(s)
s = '单片机菜鸟 123456' print(s) s = "单片机菜鸟 123456" print(s) print(s[1]) print(s[1:5])
s = '单片机菜鸟 123456' print(s) s = "单片机菜鸟 123456" print(s) print(s[1]) print(s[1:5]) print(s[1:5] + '987654')
在MicroPython中定义列表需要使用方括号,列表中的数据项都包含在方括号中,数据项之间使用逗号分隔。
list = [0,1,2,3,'abcd'] print(list) print(list[3]) # 打印索引为3的元素
list = [0,1,2,3,'abcd'] print(list) print(list[3]) # 打印索引为3的元素 list[3] = 4 print(list[3]) # 再次打印索引为3的元素
del
或pop()
函数来删除列表中指定位置的元素。list = [0,1,2,3,'abcd'] print(list) print(list[3]) # 打印索引为3的元素 del list[3] # 删除 索引为3的元素 print(list)
insert(i, x)
函数在位置 i 处插入元素 x,原来 i 位置及其后的元素依次后移,也可以使用append()
方法在末尾添加元素。list = [0,1,2,3,'abcd'] print(list) list.insert(2,'bef') print(list) list.append('end') print(list)
cmp
(list1, list2):比较两个列表的元素len
(list):返回列表元素个数max
(list):返回列表元素最大值min
(list):返回列表元素最小值list
(seq):将元组转换为列表- list.
append
(obj):在列表末尾添加新的对象- list.
count
(obj):统计某个元素在列表中出现的次数- list.
extend
(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)- list.
index
(obj):从列表中找出某个值第一个匹配项的索引位置- list.
insert
(index, obj):将对象插入列表- list.
pop
(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值- list.
remove
(obj):移除列表中某个值的第一个匹配项- list.
reverse
():反向列表中元素- list.
sort
([func]):对原列表进行排序
元组(tuple)和列表十分类似,只是元组和字符串一样是不可变的,即不能修改元组
。正是由于元组不可变,一般用于MicroPython中定义一组不需要改变的值。
在MicroPython中定义元组使用圆括号
,元组中的项目同样使用逗号
分隔。
注意: 定义只有1个元素的元组时,必须要在这个元素后面跟一个逗号。
tup=(1,2,3) print(tup) tup=(1) print(tup) tup=(1,) print(tup)
在字典中名字叫‘键’,对应的内容叫‘值’。字典就是一个键/值对(key/value)的集合。
在MicroPython中定义字典使用花括号{}
,字典中的键/值对之间使用逗号分隔,键和值之间用冒号分隔。
dic={'key':1,'key2': '123434'} print(dic)
dic={'key':1,'key2': '123434'} print(dic) dic['key'] = 'new' #直接对单个键赋值的方法来将数据放入字典 print(dic)
dic={'key':1,'key2': '123434'} print(dic) dic['key'] = 'new' #直接对单个键赋值的方法来将数据放入字典 print(dic) dic['key'] = 'new1' #多次对一个key放入value print(dic)
dic={'key':1,'key2': '123434'} print(dic) dic['key'] = 'new' #直接对单个键赋值的方法来将数据放入字典 print(dic) dic['key'] = 'new1' #多次对一个key放入value print(dic) dic.pop('key') #删除键/值对 print(dic)