【雕爷学编程】MicroPython手册之内置函数

在这里插入图片描述

MicroPython是为了在嵌入式系统中运行Python 3编程语言而设计的轻量级版本解释器。与常规Python相比,MicroPython解释器体积小(仅100KB左右),通过编译成二进制Executable文件运行,执行效率较高。它使用了轻量级的垃圾回收机制并移除了大部分Python标准库,以适应资源限制的微控制器。

MicroPython主要特点包括:
1、语法和功能与标准Python兼容,易学易用。支持Python大多数核心语法。
2、对硬件直接访问和控制,像Arduino一样控制GPIO、I2C、SPI等。
3、强大的模块系统,提供文件系统、网络、图形界面等功能。
4、支持交叉编译生成高效的原生代码,速度比解释器快10-100倍。
5、代码量少,内存占用小,适合运行在MCU和内存小的开发板上。
6、开源许可,免费使用。Shell交互环境为开发测试提供便利。
7、内置I/O驱动支持大量微控制器平台,如ESP8266、ESP32、STM32、micro:bit、掌控板和PyBoard等。有活跃的社区。

MicroPython的应用场景包括:
1、为嵌入式产品快速构建原型和用户交互。
2、制作一些小型的可 programmable 硬件项目。
3、作为教育工具,帮助初学者学习Python和物联网编程。
4、构建智能设备固件,实现高级控制和云连接。
5、各种微控制器应用如物联网、嵌入式智能、机器人等。

使用MicroPython需要注意:
1、内存和Flash空间有限。
2、解释执行效率不如C语言。
3、部分库函数与标准版有差异。
4、针对平台优化语法,订正与标准Python的差异。
5、合理使用内存资源,避免频繁分配大内存块。
6、利用原生代码提升速度关键部位的性能。
7、适当使用抽象来封装底层硬件操作。

总体来说,MicroPython让Python进入了微控制器领域,是一项重要的创新,既降低了编程门槛,又提供了良好的硬件控制能力。非常适合各类物联网和智能硬件的开发。

在这里插入图片描述

三、MicroPython 内置函数
MicroPython是一种精简版的Python语言,它具有一些内置函数,这些函数可以在MicroPython环境中直接使用。以下是一些常用的MicroPython内置函数:

print(value):打印输出给定的值。
len(sequence):返回序列(字符串、列表、元组等)的长度。
input(prompt):从用户输入获取数据,并返回作为字符串。
str(object):将对象转换为字符串表示形式。
int(x):将参数转换为整数。
float(x):将参数转换为浮点数。
bool(x):将参数转换为布尔值。
range(start, stop, step):返回一个迭代器,生成从start到stop(不包括stop)的整数序列,步长为step(可选,默认为1)。
type(object):返回对象的类型。
dir([object]):返回对象的属性列表。如果没有提供参数,则返回当前作用域的所有名称。
abs(x):返回参数的绝对值。
min(iterable):返回可迭代对象中的最小值。
max(iterable):返回可迭代对象中的最大值。
sum(iterable):返回可迭代对象中所有元素的和。
round(number, ndigits):将浮点数四舍五入到指定的小数位数。

这些是MicroPython中一些常用的内置函数。它们可以执行各种常见的操作,例如打印输出、类型转换、数学运算和迭代等。请注意,MicroPython的内置函数集相对较小,与标准的Python语言有所不同。

在这里插入图片描述

MicroPython的内置函数是指在MicroPython中不需要导入任何模块就可以直接使用的函数,它们是Python语言的基础。例如,print, len, type, range, input 等等。这些函数的数量和功能与标准的Python 3基本一致,你可以在[这里]查看完整的列表。

MicroPython的内置函数具有以下几个主要特点:

1、简单易用:MicroPython的内置函数都是用简洁明了的英文单词命名,它们的语法和参数都很直观,你可以很容易地记住和使用它们。
2、功能强大:MicroPython的内置函数可以用来执行各种常见的操作,例如打印输出,计算长度,判断类型,生成序列,获取输入等。它们还可以与其他内置模块或自定义函数结合使用,实现更复杂的功能。
3、兼容性好:MicroPython的内置函数与标准的Python 3基本保持一致,这意味着你可以在不同的平台和设备上运行相同的代码,而不需要做太多的修改。这也有利于你学习和转换到其他版本的Python。

MicroPython的内置函数可以应用于各种场景,例如:

1、数据处理:你可以使用MicroPython的内置函数来处理各种类型和格式的数据,例如字符串,列表,字典,元组等。你可以对数据进行切片,拼接,排序,查找,替换等操作。
2、算法设计:你可以使用MicroPython的内置函数来设计和实现各种算法,例如递归,循环,分支等。你可以利用函数的返回值和参数来传递数据和状态。
3、交互式编程:你可以使用MicroPython的内置函数来与用户或其他设备进行交互,例如获取输入,打印输出,抛出异常等。你可以根据用户或设备的反馈来调整你的代码逻辑。

使用MicroPython的内置函数时,需要注意以下几点:

1、参数类型:不同的内置函数可能需要不同类型或格式的参数,例如整数,浮点数,字符串等。你需要确保你传递给函数的参数符合其要求,否则可能会导致错误或异常。
2、参数个数:不同的内置函数可能需要不同个数或范围的参数,例如最少一个,最多三个等。你需要确保你传递给函数的参数个数符合其要求,否则可能会导致错误或异常。
3、返回值:不同的内置函数可能会返回不同类型或格式的值,例如布尔值,数字,字符串等。你需要根据你想要实现的功能来选择合适的内置函数,并正确地处理其返回值。

下面是一些使用MicroPython内置函数的实际运用程序案例:

案例一:计算一个字符串中每个字母出现的次数,并按照字母表顺序输出结果。

# 定义一个字符串
s = "Hello, world!"

# 定义一个空字典
d = {}

# 遍历字符串中每个字符
for c in s:
    # 如果字符是字母
    if c.isalpha():
        # 如果字典中已经有该字母作为键
        if c in d:
            # 将该字母对应的值加一
            d[c] += 1
        # 否则
        else:
            # 将该字母作为键,并将其值设为一
            d[c] = 1

# 将字典中所有键转换为列表,并按照字母表顺序排序
keys = list(d.keys())
keys.sort()

# 遍历排序后的键列表
for k in keys:
    # 打印键和对应的值
    print(k, d[k])

案例二:判断一个数是否是质数(只能被1和自身整除的数)。

# 定义一个函数,判断一个数是否是质数
def is_prime(n):
    # 如果n小于等于1,返回False
    if n <= 1:
        return False
    # 如果n等于2,返回True
    if n == 2:
        return True
    # 从2到n的平方根(向下取整)遍历每个数
    for i in range(2, int(n ** 0.5) + 1):
        # 如果n能被i整除,返回False
        if n % i == 0:
            return False
    # 遍历结束后,返回True
    return True

# 获取用户输入的一个整数
n = int(input("Enter a number: "))

# 调用函数,判断该数是否是质数,并打印结果
if is_prime(n):
    print(n, "is a prime number.")
else:
    print(n, "is not a prime number.")

案例三:使用递归函数,计算斐波那契数列(每个数都是前两个数的和)的第n项。

# 定义一个递归函数,计算斐波那契数列的第n项
def fib(n):
    # 如果n等于0或1,返回n
    if n == 0 or n == 1:
        return n
    # 否则,返回前两项的和
    return fib(n - 1) + fib(n - 2)

# 获取用户输入的一个正整数
n = int(input("Enter a positive integer: "))

# 调用函数,计算斐波那契数列的第n项,并打印结果
print("The", n, "th term of the Fibonacci sequence is", fib(n))

案例四:计算列表中数字的平均值:

def calculate_average(numbers):
    total = sum(numbers)
    average = total / len(numbers)
    return average

data = [5, 8, 12, 6, 10]
avg = calculate_average(data)
print("平均值:", avg)

在这个示例中,我们使用内置函数sum()计算列表中数字的总和,然后使用len()函数获取列表的长度。最后,通过将总和除以长度,使用数学运算得到平均值。

案例五:检查用户输入是否为数字:

def check_number(input_value):
    if input_value.isdigit():
        print("输入是一个整数")
    elif input_value.replace(".", "").isdigit():
        print("输入是一个浮点数")
    else:
        print("输入不是有效的数字")

user_input = input("请输入一个数字:")
check_number(user_input)

在这个示例中,我们使用内置函数isdigit()来检查输入字符串是否只包含数字字符,从而判断用户输入是否为整数。如果输入字符串中包含小数点,并且去除小数点后剩余的字符串仍然是数字字符,那么我们可以判断输入为浮点数。

案例六:获取当前时间的字符串表示:

import utime

current_time = utime.localtime()
time_string = utime.strftime("%Y-%m-%d %H:%M:%S", current_time)
print("当前时间:", time_string)

在这个示例中,我们使用内置模块utime中的函数来获取当前时间的结构化表示。然后,我们使用strftime()函数将时间转换为指定格式的字符串表示形式,以便打印出当前时间。

案例七:计算列表元素的和

numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print("列表元素的和为:", total)

在这个案例中,使用内置函数 sum() 计算列表 numbers 中所有元素的和,并将结果输出。

案例八:判断字符串长度

username = "john_doe"
length = len(username)
print("用户名长度为:", length)

在这个案例中,使用内置函数 len() 计算字符串 username 的长度,并将结果输出。

案例九:转换字符串为整数

age_str = "25"
age = int(age_str)
print("年龄为:", age)

在这个案例中,使用内置函数 int() 将字符串 age_str 转换为整数,并将结果输出。

这些案例展示了 MicroPython 中常用的内置函数的实际应用。通过使用这些内置函数,可以进行列表元素求和、字符串长度计算和字符串到整数的转换等常见操作。请注意,MicroPython 的内置函数与标准 Python 中的内置函数可能存在一些差异和限制,具体的行为和功能可以参考 MicroPython 的官方文档或相关资料。

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在「雕爷学编程」Arduino动手做的实验中,四位遥控是指使用了2262/2272四路无线遥控套件M4非锁接收板配合四键无线遥控器模组的实验。根据提供的引用内容,有两个示例程序可以用来接收遥控信号。 第一个示例程序是实验程序二,在Arduino参考开源代码中给出了实现接收的简单示例。程序通过RCSwitch库实现了接收器的初始化,然后进入循环,在循环中判断是否有可用的遥控信号,如果有,则获取接收到的值,并显示在串口上。 第二个示例程序是实验程序一,也是通过RCSwitch库实现的。和实验程序二类似,程序初始化了接收器,并进入循环。在循环中,如果有可用的遥控信号,则调用output函数,将接收到的值、位长、延迟和原始数据显示在串口上。 根据这两个示例程序,你可以根据实际情况选择使用其中的一个或两个来进行四位遥控实验。你需要根据引脚连接和遥控器的编码方式进行相应的配置和调试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【雕爷学编程】Arduino动手做(103)---四路无线遥控套件](https://blog.csdn.net/weixin_41659040/article/details/125220869)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驴友花雕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值