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

文章目录

      • 函数
        • 函数的多返回值
        • 函数的多种传参方式
          • 函数参数种类
        • 匿名函数
          • 函数作为参数传递
          • lambda匿名函数
      • 文件编码
      • 文件
        • 文件操作的步骤
          • 打开文件
          • 读写文件
          • 关闭文件
        • 操作汇总
        • 文件的写入
          • 案例演示
        • 文件追加
      • 异常
        • 基本语法
        • 异常的传递
      • 模块
        • 模块的导入方式
        • 自定义模块
      • python包

函数

函数的多返回值

python基础语法(函数进阶、文件、异常、模块和包)_第1张图片

函数的多种传参方式

函数参数种类
  • 位置参数

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

python基础语法(函数进阶、文件、异常、模块和包)_第2张图片

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

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

python基础语法(函数进阶、文件、异常、模块和包)_第3张图片

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

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

python基础语法(函数进阶、文件、异常、模块和包)_第4张图片

  • 注意:函数调用时,如果为缺省参数传值则修改默认参数值,否则使用这个默认值
  • 不定长参数
    python基础语法(函数进阶、文件、异常、模块和包)_第5张图片
  • 位置传递
    python基础语法(函数进阶、文件、异常、模块和包)_第6张图片
  • 注意:传进的所有参数都会被args变量收集,它会根据传递参数的位置合并为一个元素(tuple),args是元组类型,这就是位置传递
  • 关键字传递
    python基础语法(函数进阶、文件、异常、模块和包)_第7张图片
  • 注意:参数是键值行式的情况下,所有的键值都会被kargs接受

匿名函数

函数作为参数传递

python基础语法(函数进阶、文件、异常、模块和包)_第8张图片

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

python基础语法(函数进阶、文件、异常、模块和包)_第9张图片
python基础语法(函数进阶、文件、异常、模块和包)_第10张图片

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

文件编码

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

文件

文件操作的步骤

打开文件

python基础语法(函数进阶、文件、异常、模块和包)_第11张图片

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

python基础语法(函数进阶、文件、异常、模块和包)_第17张图片

操作汇总

python基础语法(函数进阶、文件、异常、模块和包)_第18张图片

文件的写入

案例演示

python基础语法(函数进阶、文件、异常、模块和包)_第19张图片

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

文件追加

python基础语法(函数进阶、文件、异常、模块和包)_第20张图片

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

异常

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

基本语法

  • 基本的异常捕获方式

python基础语法(函数进阶、文件、异常、模块和包)_第21张图片

  • 捕获指定异常
    python基础语法(函数进阶、文件、异常、模块和包)_第22张图片
  • 注意:如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常
  • 一般try下方只放一行尝试执行的代码
  • 捕获多个异常
    python基础语法(函数进阶、文件、异常、模块和包)_第23张图片
  • 异常else
    python基础语法(函数进阶、文件、异常、模块和包)_第24张图片
  • else表示没有异常要执行的代码
  • 异常的finally
    python基础语法(函数进阶、文件、异常、模块和包)_第25张图片
  • finally表示无论是否异常都要执行的代码

异常的传递

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

python基础语法(函数进阶、文件、异常、模块和包)_第26张图片

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

模块

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

模块的导入方式

python基础语法(函数进阶、文件、异常、模块和包)_第27张图片

自定义模块

python基础语法(函数进阶、文件、异常、模块和包)_第28张图片

  • all
    python基础语法(函数进阶、文件、异常、模块和包)_第29张图片

python包

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

python基础语法(函数进阶、文件、异常、模块和包)_第30张图片

  • 当我们的模块文件越多越多时,包可以帮助我们管理这些模块,包的作用就是包含多个模块,但包的本质依然是模块

你可能感兴趣的:(python,前端,开发语言)