函数的基础操作
一、实验目的
掌握掌握函数的定义、函数的调用、函数参数、函数的嵌套与递归及lambda函数。
二、实验内容
完成函数的基本概念、函数的定义及调用、函数的递归、可变参数、函数的嵌套和Lambda函数的编程。
三、实验原理及说明
Python中的函数是程序的基本组成部分,它们允许将一段代码封装起来,以便重复使用。Python提供了多种类型的函数,包括内置函数、自定义函数等。
内置函数:Python内置了一系列函数,这些函数可以直接在Python环境中使用,无需用户自行定义。例如,abs()函数用于返回数字的绝对值,len()函数返回对象的长度(对于字符串和列表等),print()函数用于输出信息等。
自定义函数:除了内置函数外,Python还支持用户自定义函数。自定义函数允许程序员根据特定需求编写自己的功能代码。自定义函数的定义通常包括函数名、参数列表和函数体。例如,可以定义一个函数来实现两个数的交换。
函数的参数:Python支持多种类型的参数,包括位置参数、关键字参数和可变参数。位置参数是必需的,按照函数定义时的顺序提供。关键字参数允许在调用函数时指定参数名,这使得函数调用更加明确和易于理解。可变参数(如*args和**kwargs)允许函数处理不定数量的参数,增强了函数的通用性。
函数的返回值:每个Python函数都可以有一个返回值,这个返回值可以是任何数据类型,包括数字、字符串、列表、字典等。使用return语句指定函数的返回值,如果函数中有多个return语句,则只执行其中一个并返回相应的值。
函数的嵌套和作用域:Python支持函数的嵌套定义,即在一个函数内部定义另一个函数。嵌套函数可以访问外部函数的变量,这被称为闭包。
1. 函数定义
定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具。定义函数需要用 def 关键字实现,具体的语法格式如下:
def fun_name(a,b ):
"""
函数功能说明
参数说明
返回值说明
"""
fun_body
return expression
有关函数说明:函数代码块以def关键词开头,后接函数标识符名称和圆括号 ();任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数;函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明;函数内容以冒号起始,并且缩进;return [expression]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。函数说明文档用于注明函数的用途、各形参说明以及返回值说明,完整的函数说明稳当有利于后续开发过程中更好的使用函数。
2. 函数调用
定义一个函数只给了函数一个名称,指定了函数里包含的参数和代码块结构。这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从Python提示符执行。
3. 函数参数
在函数定义的参数表中的参数称为形式参数,简称形参。调用函数时,参数表中提供的参数称为实际参数,简称实参。实参可以是常量、表达式或变量。实参是常量或表达式时,直接将常量或表达式计算结果传递给形参。在Python中,变量保存的是对象的引用,实参为变量时,参数传递会将实参对对象的引用赋值给形参。参数的多态性:多态是面向对象的一个特点,指不同对象执行同一个行为可能会得到不同的结果。同一个函数,传递的实际参数类型不同时,可获得不同的结果,体现了多态性。参数赋值传递:调用函数时会按参数的先后顺序,依次将实参传递给形参。传递可变对象的引用:当实参引用的是可变对象时,如列表、字典等,若在函数中修改形参,通过共享引用,实参也获得修改后的对象。接受任意个数的参数 在定义函数时,如果在参数名前面使用星号“*”,表示形参是一个元组,可接受任意个数的参数。
四、实验设备
PC机、头歌实践教学平台。
五、实验方法
在头歌平台上进行编程,完成如下程序:
1、函数的基本概念,根据提示,在右侧编辑器补充代码。
编写函数实现,求出从整数x到整数y的所有整数之和。

图1
2、函数的定义及调用,根据提示,在右侧编辑器补充代码。
编写一个函数,定义一个素数判断函数isprime(n),利用该函数输出100以内的所有素数。要求每行输出10个素数,并且右对齐。

图2
3、函数的递归,根据提示,在右侧编辑器补充代码。
编写一个程序模拟解决汉诺塔问题。从键盘输入 n,用小写字母 a, b, c 等表示圆盘,用大学字母 A, B, C 表示柱子,输出盘子的移动顺序。

图3
4、可变参数,根据提示,在右侧编辑器补充代码。
编写一个函数,函数的主要功能实现计算多个数的和,该功能通过自定义函数fsum()实现。

图4
5、函数的嵌套,根据提示,在右侧编辑器补充代码。
编写一个函数,将数字字符串转换为Unicode码并求和。

图5
6、Lambda函数,根据提示,在右侧编辑器补充代码。
编写一个函数,实现查找3个数中的最大值,利用Lambda函数实现。

图6