【雕爷学编程】MicroPython手册之内置函数 sum(iterable)

在这里插入图片描述

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的内置函数sum(iterable)是一个用于计算可迭代对象中所有元素的总和的函数。它的主要特点是:

1、它可以接受任何支持加法运算的元素,例如数字、字符串、列表等。
2、它可以接受一个可选的参数start,用于指定累加的初始值,默认为0。
3、它返回一个与可迭代对象中元素相同类型的值,或者是start参数的类型。

它的应用场景主要是:

1、在数据分析或统计中,用于计算一组数据的总和或平均值。
2、在编程中,用于实现一些复杂的算法或逻辑,例如求解斐波那契数列、阶乘、幂等。
3、在文本处理中,用于拼接字符串或列表。

它的需注意事项主要是:

1、它不能处理空的可迭代对象,否则会抛出TypeError异常。
2、它不能处理不支持加法运算的元素,例如布尔值、None等,否则会抛出TypeError异常。
3、它不能处理混合了不同类型的元素的可迭代对象,例如数字和字符串等,否则会抛出TypeError异常。

以下是MicroPython的内置函数sum(iterable)几个实际运用程序案例:

计算一组成绩的总分和平均分:

# 定义一个包含10个成绩的列表
scores = [90, 85, 92, 88, 95, 80, 86, 93, 89, 91]
# 计算总分
total = sum(scores)
# 计算平均分
average = total / len(scores)
# 打印结果
print("Total score:", total)
print("Average score:", average)

案例2:求解斐波那契数列的第n项::

# 定义一个函数,用递归方式求解斐波那契数列
def fibonacci(n):
    # 如果n为0或1,直接返回n
    if n == 0 or n == 1:
        return n
    # 否则,返回前两项的和
    else:
        return sum(fibonacci(i) for i in range(n - 1, n + 1))
# 测试函数
print(fibonacci(10)) # 输出55

案例3:拼接一组单词为一句话::

# 定义一个包含5个单词的列表
words = ["Hello", "world", "this", "is", "Bing"]
# 拼接单词为一句话,用空格隔开,并在末尾加上句号
sentence = sum(word + " " for word in words) + "."
# 打印结果
print(sentence) # 输出Hello world this is Bing.

案例四:计算列表中所有元素的总和:

numbers = [5, 2, 8, 1, 9]
total = sum(numbers)
print("列表中所有元素的总和:", total)

在这个示例中,有一个列表numbers,使用sum(numbers)函数计算列表中所有元素的总和。然后,将总和打印输出。输出结果为:25,表示列表中所有元素的总和为25。

案例5:计算元组中数值的总和::

data = (3, 7, 2, 9, 5)
total = sum(data)
print("元组中数值的总和:", total)

在这个示例中,有一个元组data,使用sum(data)函数计算元组中数值的总和。然后,将总和打印输出。输出结果为:26,表示元组中数值的总和为26。

案例六:计算字典中值的总和:

scores = {"Alice": 85, "Bob": 92, "Charlie": 78, "David": 95}
total = sum(scores.values())
print("字典中值的总和:", total)

在这个示例中,有一个字典scores,代表学生的分数。使用sum(scores.values())函数计算字典中值的总和。然后,将总和打印输出。输出结果为:350,表示字典中值的总和为350。

案例7:计算列表中数值的总和

numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print("总和:", total)

在这个案例中,使用 sum() 函数计算列表 numbers 中数值的总和,并将结果输出。在此示例中,数值的总和为 15。

案例八:计算字符串中字符的 ASCII 码总和

t

ext = "hello"
ascii_sum = sum(ord(c) for c in text)
print("ASCII 码总和:", ascii_sum)

在这个案例中,使用 sum() 函数计算字符串 text 中字符的 ASCII 码总和,并将结果输出。首先,使用生成器表达式 ord© for c in text 获取每个字符的 ASCII 码,然后使用 sum() 函数计算它们的总和。在此示例中,字符的 ASCII 码总和为 532。

案例九:计算二维列表中元素的总和

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_matrix = [num for row in matrix for num in row]
total_sum = sum(flat_matrix)
print("二维列表元素总和:", total_sum)

在这个案例中,使用 sum() 函数计算二维列表 matrix 中所有元素的总和。首先,使用列表解析将二维列表展平为一维列表 flat_matrix,然后使用 sum() 函数计算列表中所有元素的总和。在此示例中,二维列表的元素总和为 45。

这些案例展示了 MicroPython 中 sum(iterable) 函数的实际运用。通过使用 sum() 函数,可以计算列表中数值的总和,计算字符串中字符的 ASCII 码总和,或计算多维列表中元素的总和。请注意,sum() 函数适用于各种可迭代对象,并且可以与其他函数或表达式组合使用。

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

驴友花雕

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

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

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

打赏作者

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

抵扣说明:

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

余额充值