导图社区 函数和模块化编程
函数和模块化编程,内容有:函数定义、函数调用、函数返回值、函数参数传递、变量作用域、匿名函数、递归、内置函数、模块化程序设计,一起来看看吧。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
函数和模块化编程
函数定义
函数
将用于进行某种计算或具有某种功能的一系列语句进行封装命名,方便其它程序代码调用的子程序
内置函数:解释器内置,直接使用。如print()input()len()等
标准库函数:需要使用import导入函数库或模块。如math.sin()turtle.circle()等
第三方库函数:需要自行安装,使用import导入函数库或模块。如jieba.icyt()matplotlib.plot()等
def函数
def是用于函数定义的关键字,该语句必须以半角冒号(:)结束,def后的空格接函数名
语句块
函数调用
python程序中函数要遵循先定义后调用的规则,也就是说函数的调用必须位于函数定义之后。
函数返回值
return返回值
返回值没有类型限制,也没有个数限制。当返回值为多个时,各值之间用逗号分隔
None
当函数没有返回值语句时,返回“None”
函数参数传递
位置传递
位置固定,参数传递时按照形式参数定义的顺序提供实际参数。其优点是使用方 便,缺点是当参数数目较多时,函数调用容易混淆
关键字传递
在函数调用时,提供实际参数对应的形式参数名称,根据每个参数的名称传递参 数,关键字并不需要遵守位置的对应关系。其优点是明确标示实际参数和形式参数 的对应关系,参数书写更灵活。缺点是增加了函数调用时的代码书写量
默认值传递
在函数调用时,如果该参数得到传入值,按传入值进行计算,否则使用默认值。其 优点是可以降低调用函数的难度
包裹传递
解包裹传递
变量作用域
全局变量
是在模块(文件)层次中定义的变量,每一个模块都是一个全局作用域。也就是 说,在模块文件顶层声明的变量都是全局变量,其作用域是当前模块(文件)内, 包括函数外部和函数内部。全局变量在模块(文件)运行过程中会一直存在,占用 内存空间,一般建议尽量少定义全局变量。
局部变量
是在函数中定义的变量,包含在def关键字定义的语句块中,函数每次被调用时都 会创建一个新的对象。局部变量依赖该变量的函数是否处于活动的状态,函数调用 时创建,函数调用结束后销毁该变量并释放内存
匿名函数
lambda
递归
是指在函数的定义中调用函数自身的方法,基本思想是把规模大的问题转化为规模 小的相似的子问题来解决。
递归的问题是可以用同样的解题思路来回答除了规模大小不同、其他完全一样的问 题。如阶乘、斐波那契数列问题,用递归方法来解决,可以用较少的代码完成。
内置函数
模块化程序设计
模块
通过定义函数的形式将功能封装,可以实行程序设计的模块化。本质就是扩展名为 py的文件,主文件名为对应的模块名
包括标准库、开源模块、自定义模块
包
是一个包含—int—.py文件的目录,是一个有层次的文件目录结构,它定义了由若 干个模块或子包组成的python应用程序执行环境。—int—.py文件是python中包的 标识,可描述包中有多少个模块,以方便模糊导入
库
是指python中完成一定功能的、供用户使用的代码组合,是一个完整的项目打包, 可以直接调用或者运行,一个库中可能有多少包,每个包中可以有多个模块。从 库、包到模块是从大到小的层级关系。