函数的应用模拟探月工程Python函数探?模拟实践应?项目四《Python语言程序设计》
知识与能??标知识?标能??标理解Python函数的定义与作?掌握?定义函数的定义与调??法理解函数的变量作?域掌握多种函数参数类型理解函数的返回值理解?定义模块与包理解递归函数与匿名函数掌握不同类型参数的使??法掌握?定义模块的创建与导??法掌握包的创建?法掌握递归函数与匿名函数的使??法2/17
Python函数基础概述代码封装将执?特定功能的语句提取出来,封装为函数,避免代码重复重复调?可以在程序中多次调?函数执?相同功能,?需重复粘贴代码结构清晰使?函数可使程序结构更加清晰,逻辑分明,便于理解易于维护函数化的程序结构更容易维护,修改函数即可影响所有调?处在Python项?中,很多基本功能都是通过函数实现的函数是什么?函数是Python程序的基本构成元素之?,通过调?函数可以实现软件程序的特定功能。3/17
内置函数与?定义函数内置函数Python解释器?带的函数可直接使?,不需要导?某个模块随着解释器的启动??效是解释器的?部分执?效率通常?于标准库函数#直接调?内置函数print(Hello,Moon!)name=input(Enteryourname:)numbers=[1,2,3,4,5]max_num=max(numbers)?定义函数需要??定义(声明)后才能调?需要指定函数名称并编写功能语句集使?关键字def定义函数调?时需要按照定义形式传递必需的参数需要先定义,后调?#先定义?定义函数defcalculate_orbit(distance,velocity):orbit_time=2*3.14*distance/velocityreturnorbit_time#然后调??定义函数time=calculate_orbit(384400,1000)4/17
?定义函数的语法结构函数语法?例defcalculate_lunar_distance(distance,speed):计算?球探测器到达?球表?所需的时间参数:distance:距离,单位为千?speed:速度,单位为千?/?时返回:到达时间,单位为?时travel_time=distance/speed#检查速度是否为0ifspeed==0:returnNone#计算并返回结果returntravel_time注意事项Python函数定义?较灵活,不需要定义返回值类型和参数类型函数体内的语句必须保持相同的缩进级别函数可以有多个返回值,也可以没有返回值def关键字使?关键字def定义函数,后接函数名、?括号和冒号函数名函数名为标识符,遵循Python命名规范参数列表传?的参数和?变量必须放在?括号?,可定义多个参数,?逗号分隔?档字符串函数的第??语句可选择性地使??档字符串,?于存放函数说明函数体函数体以冒号表?开始,并且缩进。语句数量不限,保持缩进?致,缩进结束表?函数结束返回值return返回值语句表?结束函数,选择性地返回值给调?者。?返回值则返回None。多个返回值以逗号分隔,相当于返回?个元组5/17
函数的调??法调?函数基本概念调?函数就是使?、执?函数,实现函数定义的功能已定义的函数可以被另?个函数调?,也可以直接通过命令提?符执?调??定义函数与调?内置函数的?法相同,但必须先声明再调?内置函数调?内置函数是Python已提供的函数,可直接调??需声明,直接使?#调?内置函数print(Hello,Moon!)result=len([rover,lander,orbiter])?定义函数调??定义函数需要先声明再调?声明后的调??式与内置函数相同#先声明函数defcalculate_lunar_distance():return384400#再调?函数distance=calculate_lunar_distance()函数调?语法function_name(parameter1,parameter2,...)使?函数名使??括号传参多参数?逗号分隔6/17
函数参数类型(一)形参与实参?形参:定义函数时,函数名后括号内的变量,表?函数完成?作所需的信息?实参:调?函数时传递给函数的信息,在被调?处给出的对应参数必需参数(位置参数)按照位置顺序传递给形参参数数量必须与声明时?致未传?对应实参会导致