ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

文章目录

MicroPython 基本语法

在正式进入ESP32 MicroPython开发之前,我们先做一些简单语法学习。

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

1、print输出 —— 打印内容

  • 说明

使用print()函数可以将数据打印到终端

  • 案例
print('单片机菜鸟 MicroPython')
  • 结果
    ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法
  • 注意点
    print 默认输出换行,如果在末尾加上 end=‘’ 则不换行。

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

2、好的代码需要适当的注释

正常来说,好的代码会在关键点给以适当的注释,好的注释就算时间久了也能记忆犹新。

  • 单行注释
    单行注释以#开头,只要不换行跟在#后面的内容都是注释
    ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 多行注释
    可以使用多个#号, 三个单引号(’’’)或三个双引号("""

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

测试结果:
ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

4、变量

创建变量很简单,随意起名,赋予一个值,在赋值的时候不需要指定变量的数据类型(类似于c语言,int,double这些),因为变量是一个引用,它通过赋值来访问不同数据类型的对象。

随意起名并不是说真的很随意,还是需要遵循一些规则:

  • 变量名只能包含数字、字母、下划线
  • 变量名的第一个字符必须是字母或下划线
  • 变量名区分大小写
a = "abc" #引用a指向一个字符串对象“abcd”
print(a)

a = 32 #引用a指向一个整型对象
print(a)

测试结果:
ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

5、数据类型

MicroPython中基本的数据类型有Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)等。

5.1 Number 数字 —— int、float、bool、complex

MicroPython支持 intfloatboolcomplex(复数)。
当定义一个变量时,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)

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

5.1.3 bool——布尔型

布尔值只有TrueFalse两种值,非True则False,注意大小写

if True:
    print('true')
else:
    print('false')

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

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)) # 整数转成浮点数

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

5.2 String 字符串

字符串是以""’'括起来的任意文本(如’abc’,“xyz”)。

s = '单片机菜鸟 123456'
print(s)
s = "单片机菜鸟 123456"
print(s) 

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 访问子字符串,可以使用方括号来截取字符串
s = '单片机菜鸟 123456'
print(s)
s = "单片机菜鸟 123456"
print(s)
print(s[1])
print(s[1:5])

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 截取字符串的一部分并与其他字符串拼接
s = '单片机菜鸟 123456'
print(s)
s = "单片机菜鸟 123456"
print(s)
print(s[1])
print(s[1:5])
print(s[1:5] + '987654')

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

5.3 List 列表

在MicroPython中定义列表需要使用方括号,列表中的数据项都包含在方括号中,数据项之间使用逗号分隔。

  • 创建列表,列表中的数据可以是任意数据类型,甚至可以是不同类型的混合
list = [0,1,2,3,'abcd']
print(list)
print(list[3]) # 打印索引为3的元素

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 修改列表项
list = [0,1,2,3,'abcd']
print(list)
print(list[3]) # 打印索引为3的元素
list[3] = 4
print(list[3]) # 再次打印索引为3的元素

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 删除列表中的元素
    可以使用delpop()函数来删除列表中指定位置的元素。
list = [0,1,2,3,'abcd']
print(list)
print(list[3]) # 打印索引为3的元素
del list[3] # 删除 索引为3的元素
print(list)

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 在某一位置插入元素
    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)

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 操作汇总
  • 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]):对原列表进行排序
    ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

5.4 Tuple 元组

元组(tuple)和列表十分类似,只是元组和字符串一样是不可变的,即不能修改元组。正是由于元组不可变,一般用于MicroPython中定义一组不需要改变的值。
在MicroPython中定义元组使用圆括号,元组中的项目同样使用逗号分隔。

注意: 定义只有1个元素的元组时,必须要在这个元素后面跟一个逗号。

tup=(1,2,3)
print(tup)
tup=(1)
print(tup)
tup=(1,)
print(tup)

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

5.5 Dictionary 字典

在字典中名字叫‘键’,对应的内容叫‘值’。字典就是一个键/值对(key/value)的集合。
在MicroPython中定义字典使用花括号{},字典中的键/值对之间使用逗号分隔,键和值之间用冒号分隔。

dic={'key':1,'key2': '123434'}
print(dic)

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 直接对单个键赋值的方法来将数据放入字典
dic={'key':1,'key2': '123434'}
print(dic)
dic['key'] = 'new' #直接对单个键赋值的方法来将数据放入字典
print(dic)

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 一个key只对应一个value,多次对一个key放入value,后面的值会把前面的值覆盖
dic={'key':1,'key2': '123434'}
print(dic)
dic['key'] = 'new' #直接对单个键赋值的方法来将数据放入字典
print(dic)
dic['key'] = 'new1' #多次对一个key放入value
print(dic)

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

  • 删除键/值对
dic={'key':1,'key2': '123434'}
print(dic)
dic['key'] = 'new' #直接对单个键赋值的方法来将数据放入字典
print(dic)
dic['key'] = 'new1' #多次对一个key放入value
print(dic)
dic.pop('key') #删除键/值对
print(dic)

ESP32 MicroPython开发之旅 基础篇③ —— MicroPython基本语法

上一篇:Arduino-ESP32学习(环境搭建+WIFI使用)


下一篇:ESP32连接阿里云