文章目录
MicroPython 基本语法
在正式进入ESP32 MicroPython开发之前,我们先做一些简单语法学习。
1、print输出 —— 打印内容
- 说明
使用print()函数可以将数据打印到终端
- 案例
print('单片机菜鸟 MicroPython')
-
结果
-
注意点
print 默认输出换行,如果在末尾加上end=‘’
则不换行。
2、好的代码需要适当的注释
正常来说,好的代码会在关键点给以适当的注释,好的注释就算时间久了也能记忆犹新。
-
单行注释
单行注释以#
开头,只要不换行跟在#
后面的内容都是注释 -
多行注释
可以使用多个#
号, 三个单引号(’’’
)或三个双引号("""
)
print('单片机菜鸟 MicroPython',end='')
# 多行注释多行注释多行注释
# 多行注释多行注释多行注释
# 多行注释多行注释多行注释
print('单片机菜鸟 MicroPython',end='')
"""
多行注释多行注释多行注释
多行注释多行注释多行注释
多行注释多行注释多行注释
"""
print('单片机菜鸟 MicroPython',end='')
'''
多行注释多行注释多行注释
多行注释多行注释多行注释
多行注释多行注释多行注释
'''
3、常量
一般我们的常量就是不可变,包括1、2这样的数字或者“hello”这样的字符串。MicroPython提供了一个const关键字,表示其值不可更改。
from micropython import const
a = const(66)
print(a)
# 重新复制一个变量试试
a = 66
测试结果:
4、变量
创建变量很简单,随意起名,赋予一个值,在赋值的时候不需要指定变量的数据类型(类似于c语言,int,double这些),因为变量是一个引用,它通过赋值来访问不同数据类型的对象。
随意起名并不是说真的很随意,还是需要遵循一些规则:
- 变量名只能包含数字、字母、下划线
- 变量名的第一个字符必须是字母或下划线
- 变量名区分大小写
a = "abc" #引用a指向一个字符串对象“abcd”
print(a)
a = 32 #引用a指向一个整型对象
print(a)
测试结果:
5、数据类型
MicroPython中基本的数据类型有Number
(数字)、String
(字符串)、List
(列表)、Tuple
(元组)、Dictionary
(字典)等。
5.1 Number 数字 —— int、float、bool、complex
MicroPython支持 int
、float
、bool
、complex
(复数)。
当定义一个变量时,Number 对象被创建。 创建的Number对象,可以通过del语句进行删除。
a = 3
del a
5.1.1 int—— 整型
MicroPython可以处理任意大小的整数
(包括负整数),整数的表示方法和数学上的写法一样,
1, -1, 0, 10000, …
MicroPython中用十六进制表示整数,如下
0xff00, 0xabcd, …
5.1.2 float —— 浮点型
浮点数就是小数。
可以把10用e替代,1.23×10^9就是1.23e9,或是12.3e8,0.000012可以写成1.2e-5。
a = 1.3e6
print(a)
5.1.3 bool——布尔型
布尔值只有True
、False
两种值,非True则False,注意大小写
if True:
print('true')
else:
print('false')
5.1.4 complex—— 复数
略
5.1.5 数字类型转换
对数据内置的类型进行转换:
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)) # 整数转成浮点数
5.2 String 字符串
字符串是以""
或’'
括起来的任意文本(如’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')
5.3 List 列表
在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]):对原列表进行排序
5.4 Tuple 元组
元组(tuple)和列表十分类似,只是元组和字符串一样是不可变的,即不能修改元组
。正是由于元组不可变,一般用于MicroPython中定义一组不需要改变的值。
在MicroPython中定义元组使用圆括号
,元组中的项目同样使用逗号
分隔。
注意: 定义只有1个元素的元组时,必须要在这个元素后面跟一个逗号。
tup=(1,2,3)
print(tup)
tup=(1)
print(tup)
tup=(1,)
print(tup)
5.5 Dictionary 字典
在字典中名字叫‘键’,对应的内容叫‘值’。字典就是一个键/值对(key/value)的集合。
在MicroPython中定义字典使用花括号{}
,字典中的键/值对之间使用逗号分隔,键和值之间用冒号分隔。
dic={'key':1,'key2': '123434'}
print(dic)
- 直接对单个键赋值的方法来将数据放入字典
dic={'key':1,'key2': '123434'}
print(dic)
dic['key'] = 'new' #直接对单个键赋值的方法来将数据放入字典
print(dic)
- 一个key只对应一个value,多次对一个key放入value,后面的值会把前面的值覆盖
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)