python基础语法(函数进阶、文件、异常、模块和包)

函数

函数的多返回值

在这里插入图片描述

函数的多种传参方式
函数参数种类
  • 位置参数

位置参数:调用函数时根据函数定义的参数位置来传递参数

在这里插入图片描述

  • 注意:传递的参数和定义的参数的顺序和个数必须一致
  • 关键字参数

关键字参数:函数调用时通过“键=值”行式传递参数

在这里插入图片描述

  • 注意:函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序
  • 缺省参数

缺省参数:缺省参数也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可以不传递该默认参数的值,所有位置参数必须出现在默认参数前,包括函数的定义和调用

在这里插入图片描述

  • 注意:函数调用时,如果为缺省参数传值则修改默认参数值,否则使用这个默认值
  • 不定长参数
    在这里插入图片描述
  • 位置传递
    在这里插入图片描述
  • 注意:传进的所有参数都会被args变量收集,它会根据传递参数的位置合并为一个元素(tuple),args是元组类型,这就是位置传递
  • 关键字传递
    在这里插入图片描述
  • 注意:参数是键值行式的情况下,所有的键值都会被kargs接受
匿名函数
函数作为参数传递

在这里插入图片描述

  • 这是一种计算逻辑的传递,而非数据的传递,如上述代码,不仅是相加逻辑,任何逻辑都可以自行定义并作为函数传入
lambda匿名函数

在这里插入图片描述
在这里插入图片描述

  • 匿名函数用于临时构建一个函数,只用一次的场景
  • 匿名函数的定义中,函数体只能写一行代码,如果函数体要写多行代码,不可以用lambda匿名函数,应该使用def定义的带名函数

文件编码

编码技术:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容

文件

文件操作的步骤
打开文件

在这里插入图片描述

  • 注意:此时的'f'是'open'函数的文件对象,对象是python中一种特殊的数据类型,拥有属性和方法,可以使用对象.属性或对象.方法对其进行访问
  • mode常用的三种基础访问模式
    在这里插入图片描述
读写文件
  • read()方法
    在这里插入图片描述
  • 注意:若在程序中多次调用read(),下一个read要在上一个read()结尾处继续执行
  • readlines()方法
    在这里插入图片描述
  • readline()方法
    在这里插入图片描述
  • for循环读取行
    在这里插入图片描述
  • with open语法
    在这里插入图片描述
关闭文件

在这里插入图片描述

操作汇总

在这里插入图片描述

文件的写入
案例演示

在这里插入图片描述

  • 直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
  • 当调用flush的时候,内容会真正写入文件
  • 这样做是避免频繁的操作硬盘,导致硬盘效率下降(攒一堆,一次性写入硬盘)
  • w模式:文件不存在会创建新文件
  • w模式:文件存在,会清空原有内容
  • close方法,带有flush方法的功能
文件追加

在这里插入图片描述

  • a模式:文件不存在会创建文件
  • a模式:文件存在会在最后,追加写入文件

异常

异常:当检测到一个错误时,python解释器无法继续执行,反而出现了一些错误提示,这就是所谓的“异常”,也就是我们常说的bug

基本语法
  • 基本的异常捕获方式

在这里插入图片描述

  • 捕获指定异常
    在这里插入图片描述
  • 注意:如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常
  • 一般try下方只放一行尝试执行的代码
  • 捕获多个异常
    在这里插入图片描述
  • 异常else
    在这里插入图片描述
  • else表示没有异常要执行的代码
  • 异常的finally
    在这里插入图片描述
  • finally表示无论是否异常都要执行的代码
异常的传递

异常具有传递姓,当函数func01中发生异常,并且没有捕获处理这个异常的时候,异常就会传递到函数func02,当函数func02也没有捕获处理这个异常的时候,main函数会捕获这个异常,这就是异常的传递性

在这里插入图片描述

  • 当所有函数都没有捕获异常的时候,程序就会报错

模块

Python模块是一个python文件,以.py结尾,模块能定义函数、类和变量,模块里可能包含可执行的代码

模块的导入方式

在这里插入图片描述

自定义模块

在这里插入图片描述

  • all
    在这里插入图片描述

python包

从物理上看,包就是一个文件夹,在该文件夹下包含了一个_init_.py文件,该文件夹可用于包含多个模块文件,从逻辑上看,包的本质依然是模块

在这里插入图片描述

  • 当我们的模块文件越多越多时,包可以帮助我们管理这些模块,包的作用就是包含多个模块,但包的本质依然是模块
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值