ESP32使用MicroPython快速开发

Python基本语句

一:Print语句:

1. 输出字符串和数字

>>>print("runoob")  # 输出字符串

runoob

>>> print(100)            # 输出数字

100

>>> str = 'runoob'

>>> print(str)            # 输出变量

runoob

>>> L = [1,2,'a']         # 输出列表

>>> print(L) 

[1, 2, 'a'] 

>>> t = (1,2,'a')         # 输出元组

>>> print(t) 

(1, 2, 'a') 

>>> d = {'a':1, 'b':2}    # 输出字典

>>> print(d) 

{'a': 1, 'b': 2}

2. 格式化输出整数

支持参数格式化,与 C 语言的 printf 类似

>>>str = "the length of (%s) is %d" %(  'runoob',len('runoob')  )

>>> print(str)

the length of (runoob) is 6

          %c  格式化字符及其ASCII码

      %s 格式化字符串

      %d 格式化整数

      %u 格式化无符号整型

      %o 格式化无符号八进制数

      %x 格式化无符号十六进制数

      %X 格式化无符号十六进制数(大写)

      %f 格式化浮点数字,可指定小数点后的精度

      %e 用科学计数法格式化浮点数

      %E 作用同%e,用科学计数法格式化浮点数

      %g %f和%e的简写

      %G %f 和 %E 的简写

      %p 用十六进制数格式化变量的地址

*  定义宽度或者小数点精度

-  用做左对齐

+  在正数前面显示加号( + )

<sp>    在正数前面显示空格

#  在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

0  显示的数字前面填充'0'而不是默认的空格

%  '%%'输出一个单一的'%'

(var)   映射变量(字典参数)

m.n.    m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

3.格式化输出进制数

#%x --- hex 十六进制

#%d --- dec 十进制

#%o --- oct 八进制

>>>nHex = 0xFF

>>> print("nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex))

nHex = ff,nDec = 255,nOct = 377

4.格式化输出浮点数(float)

>>>pi = 3.141592653 

>>> print('%10.3f' % pi) #字段宽10,精度3 

     3.142 

>>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度 

pi = 3.142 

>>> print('%010.3f' % pi) #用0填充空白 

000003.142 

>>> print('%-10.3f' % pi) #左对齐 

3.142      

>>> print('%+f' % pi) #显示正负号 

+3.141593

5. 换行

print 会自动在行末加上回车, 如果不需回车,只需在 print 语句的结尾添加一个逗号 , 并设置分隔符参数 end,就可以改变它的行为。

>>>for i in range(0,6):

...     print(i)

...

0

1

2

3

4

5

>>> for i in range(0,6):

...     print(i, end=" ")

...

0 1 2 3 4 5

 

二:range语句(start,end,step)

for i in range(4,8,1):

  led = Pin(led_data[i], Pin.OUT)

  led.value(1)

  utime.sleep_ms(300)

 

三:if语句

  if i == 2:

    led.value(1)

  else:

led.value(0)

四:运算符

+     加 - 两个对象相加     a + b 输出结果 30

-     减 - 得到负数或是一个数减去另一个数  a - b 输出结果 -10

*      乘 - 两个数相乘或是返回一个被重复若干次的字符串  a * b 输出结果 200

/      除 - x除以y b / a 输出结果 2

%     取模 - 返回除法的余数     b % a 输出结果 0

**    幂 - 返回x的y次幂   a**b 为10的20次方, 输出结果 100000000000000000000

//     取整除 - 返回商的整数部分(向下取整)     >>> 9//2   4   >>> -9//2  -5

五:子函数

def func3(a,b):                 # 需传两个参数

  print("a+b = %d" %(a+b))    # print表达式,

  return(a+b)

 

func3(3,4)    #调用函数

 

 

六:调用自己的py子函数

from front import *

Front.output()     #Front为一个类,output()为类里面的一个函数

Front.front_light(100)

七:编写类

class Front:

    def output():

      print("hello")

   

    def front_light(delay_ms,):   

      led_data = [2,4,5,18,19,21,22,23]  #数据口

      led_ctl = [12,13,14]               #锁存器使能端

 

      #初始化********************************

      for i in range(3):

        Pin(led_ctl[i], Pin.OUT).value(1) 

      for i in range(8):

        Pin(led_data[i], Pin.OUT).value(0)

       

热门文章

暂无图片
编程学习 ·

Spring Boot整合Zookeeper实现配置中心

简介 使用背景 说到配置中心,目前市面上用的较多的配置中心都广为人知,比如百度的Disconf、Spring Cloud Config、携程的Apollo、阿里的Nacos等。由于项目组一直是使用的zookeeper作为配置中心,所以来学习使用。 实现原理在Zookeeper建立一个根节点,比如/CONFIG,代表某个配…
暂无图片
编程学习 ·

RPM软件包手工编译安装apache

RPM软件包手工编译安装apache1.apache概述2. Apacheweb服务器软件拥有以下特性3. 实验3.1 实验环境3.2在centos7.6的Linux系统下用RPM源码编译安装apache3.2.1 实验步骤 1.apache概述 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大…
暂无图片
编程学习 ·

Fincy究竟如何成为东南亚值得信赖的首选支付平台?

“去中心化”的区块链网络提供了低成本的信用解决机制,基础规则在被写入区块链协议后,可以一直保障链上合约按规则运行,而不需要特定的中心化机构维护。区块链技术带来的“共同账簿”有潜力实现全球市场的跨场所实时结算,大幅提高交易后处理环节的运行效率,为全球支付的拓…
暂无图片
编程学习 ·

C++排雷:16. #pragma warning的几种用法

#pragma warning只对当前文件有效(对于.h,对包含它的cpp也是有效的),而不是对整个工程的所有文件有效。当该文件编译结束,设置也就失去作用。 #pragma warning(push)是保存当前的编译器警告状态;#pragma warning(push, n) 存储当前报警设置,并设置报警级别为n。n为从1到…
暂无图片
编程学习 ·

利用BootStrap创建搜索框--」详解

今天学了bootstrap由于官网上没有搜索框,我要做一个网站正好需要,我就自己做了一个搜索框,话不多说直接上代码下面是jsp代码<div class="col-sm-5" id="so"><div class="input-group"><input type="text" class="…
暂无图片
中恒嘉业 ·

Heap Sort 讲解

Heap Sort sorts a group of unordered elements using the Heap data structure. The sorting algorithm using a Min Heap is as follows: Heapify all elements into a Min HeapRecord and delete the top elementPut to top element into an array T that stores all so
暂无图片
cgfy ·

8. 源码分析之ConsumeQueue

源码分析之ConsumeQueue 消息发送时数据在ConsumeQueue的落地 ​ 连续发送5条消息&#xff0c;消息是不定长&#xff0c;首先所有信息先放入 Commitlog中&#xff0c;每一条消息放入Commitlog的时候都需要上锁&#xff0c;确保顺序的写入。 ​ 当Commitlog写成功了之后。数据…
暂无图片
coreui ·

Heap Sort 讲解

Heap Sort sorts a group of unordered elements using the Heap data structure. The sorting algorithm using a Min Heap is as follows: Heapify all elements into a Min HeapRecord and delete the top elementPut to top element into an array T that stores all so
暂无图片
coreui ·

[react] 你觉得react上手快不快?它有哪些限制?

[react] 你觉得react上手快不快&#xff1f;它有哪些限制&#xff1f; 相对vue来说不快。 限制 需要学习JSX需要工程化的配置需要对原生JavaScript有相当的掌握react只是一个UI层面的库&#xff0c;像vue内置了动画处理、keep-alive等功能&#xff0c;react则需要去找第三方库…
暂无图片
未来博客 ·

Heap Sort 讲解

Heap Sort sorts a group of unordered elements using the Heap data structure. The sorting algorithm using a Min Heap is as follows: Heapify all elements into a Min HeapRecord and delete the top elementPut to top element into an array T that stores all so
暂无图片
未来博客 ·

[react] 你觉得react上手快不快?它有哪些限制?

[react] 你觉得react上手快不快&#xff1f;它有哪些限制&#xff1f; 相对vue来说不快。 限制 需要学习JSX需要工程化的配置需要对原生JavaScript有相当的掌握react只是一个UI层面的库&#xff0c;像vue内置了动画处理、keep-alive等功能&#xff0c;react则需要去找第三方库…
暂无图片
建站日记 ·

[react] 你觉得react上手快不快?它有哪些限制?

[react] 你觉得react上手快不快&#xff1f;它有哪些限制&#xff1f; 相对vue来说不快。 限制 需要学习JSX需要工程化的配置需要对原生JavaScript有相当的掌握react只是一个UI层面的库&#xff0c;像vue内置了动画处理、keep-alive等功能&#xff0c;react则需要去找第三方库…
暂无图片
建站日记 ·

STL Practice —— 【map (1)】

Description 给出学生姓名和分数&#xff0c;要求你输入姓名查询分数。 Input 输入包含T组测试数据。 开头是一个正整数T (0<T<10)&#xff0c;为测试数据数量。 对于每组测试数据&#xff0c;第一行是一个正整数N (0<N<100000)。 接下来有N行&#xff0c;每行包…
暂无图片
mfbz ·

AOV网是否存在回路-拓扑排序-C++

拓扑排序是对测试AOV网是否存在回路的方法&#xff01; 拓扑排序的过程中&#xff0c;由于需要查找所有以某顶点为尾的弧&#xff0c;即找到该顶点的所有出边&#xff0c;故图要采用邻接表的存储方式。但拓扑排序较邻接表的存储方式有一点不同&#xff0c;由于要查找入度为0的点…
暂无图片
mfbz ·

[react] 你觉得react上手快不快?它有哪些限制?

[react] 你觉得react上手快不快&#xff1f;它有哪些限制&#xff1f; 相对vue来说不快。 限制 需要学习JSX需要工程化的配置需要对原生JavaScript有相当的掌握react只是一个UI层面的库&#xff0c;像vue内置了动画处理、keep-alive等功能&#xff0c;react则需要去找第三方库…
暂无图片
珊珊日记 ·

AOV网是否存在回路-拓扑排序-C++

拓扑排序是对测试AOV网是否存在回路的方法&#xff01; 拓扑排序的过程中&#xff0c;由于需要查找所有以某顶点为尾的弧&#xff0c;即找到该顶点的所有出边&#xff0c;故图要采用邻接表的存储方式。但拓扑排序较邻接表的存储方式有一点不同&#xff0c;由于要查找入度为0的点…
暂无图片
珊珊日记 ·

8. 源码分析之ConsumeQueue

源码分析之ConsumeQueue 消息发送时数据在ConsumeQueue的落地 ​ 连续发送5条消息&#xff0c;消息是不定长&#xff0c;首先所有信息先放入 Commitlog中&#xff0c;每一条消息放入Commitlog的时候都需要上锁&#xff0c;确保顺序的写入。 ​ 当Commitlog写成功了之后。数据…