【雕爷学编程】MicroPython手册之控制流语句 return 函数返回

您所在的位置:网站首页 一个return语句可以返回多个值 【雕爷学编程】MicroPython手册之控制流语句 return 函数返回

【雕爷学编程】MicroPython手册之控制流语句 return 函数返回

2024-06-03 11:58| 来源: 网络整理| 查看: 265

在这里插入图片描述

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的控制流语句是指可以根据条件或循环来控制程序执行顺序的语句,如if、for、while、break、continue、pass等。控制流语句的主要特点有以下几点: 1、MicroPython的控制流语句与Python的控制流语句基本相同,只是在一些细节上有所区别,如MicroPython不支持match语句,而Python 3.10及以上版本支持。 2、MicroPython的控制流语句使用缩进来表示代码块,而不是使用花括号或其他符号,这使得代码更加简洁和清晰。 3、MicroPython的控制流语句可以嵌套使用,即在一个控制流语句中可以包含另一个控制流语句,以实现更复杂的逻辑。

控制流语句的应用场景有很多,例如: 1、用if语句可以根据条件来执行不同的代码块,如判断用户输入的密码是否正确,或者判断温度是否超过阈值等。 2、用for语句可以遍历一个序列或迭代器中的每个元素,并对每个元素进行相应的操作,如打印列表中的每个元素,或者计算字符串中的每个字符出现的次数等。 3、用while语句可以在条件为真时重复执行一个代码块,直到条件为假时停止,如实现一个猜数字游戏,或者计算一个数的阶乘等。 4、用break语句可以提前终止一个循环,如在查找一个元素时找到后就退出循环,或者在满足某个条件时就退出循环等。 5、用continue语句可以跳过当前循环的剩余部分,直接进入下一次循环,如在遍历一个列表时跳过某些不符合要求的元素,或者在计算一个数的因数时跳过偶数等。 6、用pass语句可以表示一个空的代码块,什么也不做,如在定义一个函数或类时暂时不写具体的实现,或者在一个分支中不需要执行任何操作等。

MicroPython的return 函数返回是一种控制流语句,用于在一个函数或方法中返回一个值或对象给调用者。return 函数返回由return关键字和一个可选的返回值或对象组成。MicroPython的return 函数返回的主要特点有以下几点:

1、MicroPython的return 函数返回与Python的return 函数返回基本相同,只是在一些细节上有所区别,如MicroPython不支持在finally子句中使用return语句,而Python支持。 2、MicroPython的return 函数返回可以用在任何函数或方法中,无论是内置的还是自定义的,但不能用在try-except语句中。 3、MicroPython的return 函数返回可以返回任何MicroPython对象,包括数字、字符串、列表、元组、字典、集合、函数、类等。MicroPython中一切皆为对象。 4、MicroPython的return 函数返回可以返回单个值或对象,也可以返回多个值或对象,只需用逗号分隔即可。如果返回多个值或对象,实际上是返回一个元组。

return 函数返回的应用场景有很多,例如:

1、用于实现一些需要计算并返回一个结果或对象的功能,如实现一个加法函数,或者实现一个创建类实例的工厂函数等。 2、用于实现一些需要根据不同条件或情况返回不同值或对象的功能,如实现一个判断奇偶数的函数,或者实现一个根据参数类型返回不同函数的闭包函数等。 3、用于实现一些需要提前结束函数或方法执行并返回一个值或对象的功能,如实现一个查找元素的函数,或者实现一个验证用户输入的函数等。

return 函数返回的注意事项有以下几点:

1、MicroPython的return 函数返回需要注意放置在合适的位置,否则会导致逻辑错误或意外结果。 2、MicroPython的return 函数返回需要注意与print语句和else语句的区别和配合使用,否则会导致逻辑错误或意外结果。 3、MicroPython的return 函数返回需要注意避免在循环中使用,否则会导致循环提前结束。

以下是几个MicroPython的return 函数返回实际运用程序案例:

案例一:实现一个简单的加法函数,可以接收两个数字作为参数,并返回它们的和。

# 定义一个加法函数,接受两个参数:数字a和数字b def add(a, b): # 计算a和b的和,并赋值给c c = a + b # 返回c作为函数的返回值 return c # 调用加法函数,传入数字1和2,并赋值给result result = add(1, 2) # 打印结果 print("两个数字的和为:{}".format(result))

案例二:实现一个简单的闭包函数,可以根据参数类型返回不同的函数。

# 定义一个闭包函数,接受一个参数:类型t def make_func(t): # 如果t等于"int",定义并返回一个将字符串转换为整数的函数 if t == "int": def int_func(s): return int(s) return int_func # 如果t等于"float",定义并返回一个将字符串转换为浮点数的函数 elif t == "float": def float_func(s): return float(s) return float_func # 如果t等于"str",定义并返回一个将任何对象转换为字符串的函数 elif t == "str": def str_func(o): return str(o) return str_func # 如果t不等于以上任何一种类型,打印错误信息,并返回None else: print("无效的类型。") return None # 调用闭包函数,传入类型"int",并赋值给func1 func1 = make_func("int") # 调用闭包函数,传入类型"float",并赋值给func2 func2 = make_func("float") # 调用闭包函数,传入类型"str",并赋值给func3 func3 = make_func("str") # 调用闭包函数,传入类型"bool",并赋值给func4 func4 = make_func("bool") # 调用func1,传入字符串"123",并赋值给result1 result1 = func1("123") # 调用func2,传入字符串"3.14",并赋值给result2 result2 = func2("3.14") # 调用func3,传入数字42,并赋值给result3 result3 = func3(42) # 打印结果 print("字符串\"123\"转换为整数为:{}".format(result1)) print("字符串\"3.14\"转换为浮点数为:{}".format(result2)) print("数字42转换为字符串为:{}".format(result3))

案例三:实现一个简单的验证用户输入的函数,可以接收一个用户输入的字符串,并返回一个布尔值表示是否有效。

# 定义一个验证用户输入的函数,接受一个参数:字符串s def validate_input(s): # 如果s为空字符串,打印错误信息,并返回False if s == "": print("请输入一个非空字符串。") return False # 如果s不是纯数字或纯字母,打印错误信息,并返回False if not (s.isdigit() or s.isalpha()): print("请输入一个纯数字或纯字母的字符串。") return False # 如果s满足以上条件,打印成功信息,并返回True print("您的输入是有效的。") return True # 提示用户输入一个字符串,并赋值给input_str input_str = input("请输入一个非空的纯数字或纯字母的字符串:") # 调用验证用户输入的函数,传入input_str,并赋值给result result = validate_input(input_str) # 打印结果 print("您的输入是否有效:{}".format(result))

案例四:计算平方:

def square(number): return number ** 2 result = square(5) print(result) # 输出:25

这个示例定义了一个函数square,它接受一个参数number,并返回该数的平方。通过使用return语句,函数将计算结果返回给调用者,并将其赋值给变量result,最后打印出结果。

案例五:查找元素索引:

def find_index(items, target): for i, item in enumerate(items): if item == target: return i return -1 my_list = [1, 2, 3, 4, 5] index = find_index(my_list, 3) print(index) # 输出:2 index = find_index(my_list, 6) print(index) # 输出:-1

这个示例定义了一个函数find_index,它接受一个列表items和一个目标元素target,并返回目标元素在列表中的索引。如果找到目标元素,函数使用return语句提前结束循环并返回索引值;如果未找到目标元素,函数会继续执行到最后一行的return语句,并返回-1作为标志。

案例六:计算阶乘:

def factorial(n): if n == 0: return 1 return n * factorial(n - 1) result = factorial(5) print(result) # 输出:120

这个示例定义了一个递归函数factorial,它计算一个数的阶乘。当输入为0时,函数使用return语句返回1,作为递归的终止条件;否则,函数通过调用自身并使用return语句返回n与factorial(n-1)的乘积,实现阶乘的计算。

案例七:函数返回单个值

def add_numbers(a, b): return a + b result = add_numbers(3, 4) print("结果:", result)

在这个案例中,函数 add_numbers 接收两个参数并返回它们的和。通过调用函数,将返回的结果赋值给变量 result,并打印出结果。

案例八:函数返回多个值

def get_circle_info(radius): circumference = 2 * 3.14 * radius area = 3.14 * radius ** 2 return circumference, area circle_circumference, circle_area = get_circle_info(5) print("圆的周长:", circle_circumference) print("圆的面积:", circle_area)

在这个案例中,函数 get_circle_info 接收一个半径参数,并计算圆的周长和面积。通过调用函数,将返回的周长和面积分别赋值给变量 circle_circumference 和 circle_area,并打印出它们。

案例九:函数返回布尔值

def is_even(number): if number % 2 == 0: return True else: return False num = 4 if is_even(num): print(num, "是偶数") else: print(num, "是奇数")

在这个案例中,函数 is_even 接收一个数字参数,并判断它是否为偶数。如果是偶数,则返回 True;否则返回 False。通过调用函数,根据返回的布尔值打印出相应的消息。

这些案例展示了 MicroPython 中使用 return 语句进行函数返回的实际应用。通过 return,函数可以将结果或数据传递回调用者,并在需要时进行进一步处理或输出。请注意,在函数内部使用 return 语句时,它会终止函数的执行,因此确保在适当的位置使用 return。

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3