【零基础高效率学Python】第四天 函数
创始人
2024-05-09 21:39:16
0

目录

一、模块化程序设计

二、定义函数

三、函数调用

四、return语句

五、函数参数

六、函数的递归调用

七、匿名函数

八、open()函数

一、模块化程序设计

(一)基本设计思想:将一个大型程序按照功能分割成若干个小型模块

(二)特点

  • 模块相对独立,功能单一,结构清晰,接口简单

  • 减少程序复杂性

  • 提高元器件的可靠性

  • 缩短软件的开发周期

  • 避免程序开发的重复劳动

二、定义函数

(一)格式

def  函数名(形参列表):
    """函数注释"""
    程序功能段代码
    return  表达式

(二)分析

1、def:定义函数的关键字

2、函数名:函数的名称,区别其它函数的标签,也是函数所在内存的入口地址,是一个常量,要见名知意

3、形参:

  • 作用:函数接收数据的变量空间

  • 原则:调用函数时,形参变量分配空间,调用结束空间释放

  • 设计原则:名称、个数

  • 注意:多个形参之间使用逗号分割

4、函数注释:可选,起到增加函数可读性、理解性,推荐书写

5、函数体:程序段,实现函数的功能

PS:函数代码块以def关键字开头,一个空格之后接上函数标识符与园括号,最后有一个冒号,函数体重第一行一般书写函数注释,最后以return结束,默认返回None

三、函数调用

(一)作用:传递参数,使用函数功能

(二)格式:函数名(实参列表)

(三)调用方式

  • fun(m)  : 调用fun函数,传递参数m
  • n=fun(m) : 调用fun函数,返回值赋值给n
  • s=s*fun(m) : 调用fun函数,返回值参与后续运算
  • print(fun(m))  : 调用fun函数,返回值作为另一个函数的参数出现
  • fun() :调用fun函数,无参,无返回值

四、return语句

(一)作用

表示函数执行到此结束,并且返回return之后的对象,函数若无返回值,则return语句可省略,后台默认返回None

(二)注意

1、但函数执行到return语句,那么之后函数体若还有语句则不会执行,会被忽略掉,直接跳出函数体

2、python中return可以返回任意对象

五、函数参数

(一)位置参数(必需参数、必备参数)

必需按照正确的顺序传递到函数中,实参与形参按位置对齐,个数相同

(二)关键字参数

使用形参的名字来确定输入参数的值,实参不需要与形参按位置完全对齐一致

(三)默认参数

调用函数时,如果没有传入参数,会使用默认参数

注意:

  • 默认值参数必须写在形参列表最后,否则报错

  • 默认值形参尽量指向不可变数据类型的对象

(四)不定长参数(可变参数):传入的参数可以是任意多个

  • *形参 :一个星号,可以接收多个参数存储到元组中
  • **形参:两个星号,以关键字参数形式传入,以字典形式存储
  • 单独的*:对应实参必须以关键字参数形式传递

六、函数的递归调用

(一)作用

  • 一个函数在它的函数体内部调用自身称为递归调用

(二)注意

  • 每一次递归都是通过栈(stack)这种数据结构实现的,每次进入递归时,栈会增加一层,函数返回时栈会减少一层,由于栈的大小不是无限制的所以递归调用次数过多时可能会出现栈溢出,为了防止溢出,递归深度不要超过1000层

  • 递归必须在内部使用条件判断的方法来退出递归,否则会出现循环无休止的执行

  • 递归虽然使用程序变得简洁一些,增加程序可读性,但这是以牺牲存储空间为代价,由于每一次递归都会存储相关的变量和参数,会增加时间开销

七、匿名函数

(一)使用lambda关键字创建匿名函数

  • 匿名:不再使用def关键字这样标准的形式来定义函数

  • lambda只是一个表达式,不是一段代码,函数体一般要比传统的函数要简单

  • 只能在lambda表达式中封装有限的功能及逻辑,也拥有自己的命名空间

(二)格式:lambda 参数 :表达式

(三)注意

  • 匿名函数只能有一个表达式,不同也不能书写return语句,表达式的结果就是返回值

八、open()函数

(一)格式:f=open(filename,mode,encoding)

  • open()函数返回值为一个file对象,可以赋值给一个变量

  • filename:访问的文件名称,一般需要增加路径,本质是一个字符串

  • mode:打开文件的方式

  • encoding:字符编码,一般为UTF-8

(二)文件的打开方式

模式操作说明
r只读默认方式,如果文件不存在会报错
w写入若文件不存在则会新建然后写入,若文件已存在则会清空已有内容在写入
a追加若文件不存在则会新建然后写入,若文件已存在则会追加数据
x新建若文件已存在则报错,若文件不存在则会新建再写入,比w模式安全
b二进制模式以bytes类型操作文件,一般与之前的模式结合使用,如:rb、wb
+读写如:r+ w+ a+

例如:打开一个文件

  • f = open('t1.txt', 'w')
  • f.write('python 是一种非常好用的语言!')
  • f.close()

(三)b模式

  • 二进制模式:一般用于读取图片、视频等文件

  • 注意:读写时是以bytes类型读写的,因此获得是一个bytes对象而不是字符串,读写时需要指定字符编码

(四)+ 模式

  • w+模式:在读写之前会清空文件内容

  • a+模式:永远在文件尾部写入

  • r+模式:读写模式,配合seek()tell()方法可以实现更多操作

(五)文件写入方法:write()

  • 作用:将字符串或bytes类型写入文件中

  • 注意:write()一般都是在内存中执行,并不会立刻写入硬盘,当执行到close()方法后才会将数据写入硬盘,如果需要在内存读写且立刻反应到硬盘上则需要执行f.flush方法

(六)关闭文件对象:close()

  • 当处理完一个文件后,调用f.close()或关闭文件且释放系统资源,文件关闭后,数据会同步到磁盘

都看到这里了,创作不易,大家点个赞再走呗!!!( ˃̶̤́ ꒳ ˂̶̤̀ )

相关内容

热门资讯

苏丹西部城市遭武装分子袭击 致... 当地时间3月9日,苏丹民间机构“苏丹医生网”发表声明称,苏丹西部西科尔多凡州阿尔库维市当天遭遇武装分...
湖北女子照顾残疾丈夫脑瘫儿子2... 【#湖北女子照顾残疾丈夫脑瘫儿子24年#】#丈夫回应妻子照顾特殊十口家庭24年# 一名朴实的农妇,2...
暴雨!强对流!江西接下来天气.... 下周天气又将如何变化?鸽从南昌市气象台了解到未来三天南昌将被阴雨天气笼罩南昌市气象台预报员 平师凡:...
香江观澜:与内地协同发展 助香... 来源:中国新闻网中新社香港3月9日电 题:与内地协同发展 助香港人工智能新突破中新社记者 香卢平正在...
白宫附近,一带枪男子被击伤 据央视新闻消息,当地时间9日,美国特勤局在一份声明中表示,特勤局人员于当天凌晨在白宫附近开枪击伤一名...
小鹏P7 Ultra上热搜 新... 每经记者 黄博文    每经编辑 梁枭     Pro、Max、Plus、Ultr...
美媒爆:乌军本周损失惨重 据美国《时代》杂志网站3月8日报道,多名熟悉情况的西方和乌克兰高级官员和军官称,美国暂停向乌克兰提供...
全国政协常委、经济委员会副主任... 每经记者 李彪 张怀水    每经编辑 廖丹     2025年政府工作报告提出,...
存储巨头宣布涨价 存储产品:4月起涨超10%,后续还要接着涨全球存储巨头闪迪最近发了通知:从4月1日起,所有面向消费者...
中国天楹党委书记、总裁曹德标:... 基于行业实践,我们提出以下建议,期望为推动全球可持续发展贡献力量:在“十四五”规划收官阶段,新能源领...
正在公示!我市智能家居消费补贴... 大庆市商务局关于2025年黑龙江省智能家居消费补贴政策参与市场主体名单的公示(白名单及第一批拟新增)...
华南地区镀锌管价格弱势运行 需... 华南地区镀锌管价格弱势运行 需求偏弱   今日华南地区镀...
这些“三农”内容,让农民增收有... 转自:新华网  新华社北京3月9日电 做好“土特产”文章,发展林下经济,促进乡村特色产业延链增效、联...
两会“码”上谈|让老百姓更有“... 发放育儿补贴,推动建设安全、舒适、绿色、智慧的“好房子”;促进优质医疗资源扩容下沉和区域均衡布局,实...
“无论哪里干社保接着算”,免除... 转自:新京报评论▲资料图:社保卡。图/IC photo新京报社论“无论你在哪里干,社会保险接着算”。...
长春这里城中村将改造! 近日,长春市公共资源交易网发布《长春市伊通河流域城中村改造项目-四季青地块工程总承包》招标公告,重点...
已致5死、十余伤!泰国发生连环... 据环球时报援引新加坡《海峡时报》3月9日报道,泰国南部发生连环恐怖袭击事件,造成5人死亡,十余人受伤...
奥运冠军武大靖任黄河科技学院冰... 3月9日,黄河科技学院冰雪产业学院正式揭牌,奥运冠军武大靖任名誉院长。据其介绍,这是黄河科技学院深化...
Siri语音升级意外“跳票”!...   AI手机距离真正的消费者应用尚未成熟,理想与现实的差距仍然较大。  当手机进入AI时代,苹果是否...
全国人大代表、深交所理事长沙雁...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 全国人大代表、深圳证...