Python基础知识总结 下

目录

Python 函数进阶

函数多返回值

函数多种传参方式

匿名函数

函数作为参数传递

lambda匿名函数

Python文件操作

文件的编码

文件的读取

文件的写入

总结

         文件的追加

总结

Python异常、模块与包

异常

异常的捕获方法

异常的传递

Python模块

模块的导入

自定义模块

自定义包

安装第三方包


Python 函数进阶

函数多返回值

如果一个函数要有多个返回值,该如何书写代码?

Python基础知识总结 下_第1张图片

 

按照返回值的顺序,写对应顺序的多个变量接收即可

变量之间用逗号隔开

支持不同类型的数据return

函数多种传参方式

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

Python基础知识总结 下_第2张图片

 注意:

      传递的参数和定义的参数的顺序及个数必须一致

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

作用: 可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求.

Python基础知识总结 下_第3张图片

注意:

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

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

作用: 当调用函数时没有传递参数, 就会使用默认是用缺省参数对应的值.

Python基础知识总结 下_第4张图片

注意:

       函数调用时,如果为缺省参数传值则修改默认参数值, 否则使用这个默认值

位置传递

Python基础知识总结 下_第5张图片

注意:

      传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple)args是元组类型,这就是位置传递

关键字传递

Python基础知识总结 下_第6张图片

注意:

      参数是“键=值”形式的形式的情况下, 所有的“键=值”都会被kwargs接受, 同时会根据“键=值”组成字典.

匿名函数

函数作为参数传递

如下代码:

Python基础知识总结 下_第7张图片

 函数compute,作为参数,传入了test_func函数中使用。

test_func 需要一个函数作为参数传入,这个函数需要接收 2 个数字进行计算,计算逻辑由这个被传入函数决定
compute 函数接收 2 个数字对其进行计算, compute 函数作为参数,传递给了 test_func 函数使用
最终,在 test_func 函数内部,由传入的 compute 函数,完成了对数字的计算操作

所以,这是一种,计算逻辑的传递,而非数据的传递。

就像上述代码那样,不仅仅是相加,相见、相除、等任何逻辑都可以自行定义并作为函数传入

lambda匿名函数

函数的定义中

def 关键字,可以定义 带有名称 的函数
lambda 关键字,可以 定义匿名 函数(无名称)

有名称的函数,可以基于名称重复使用

无名称的匿名函数,只可临时使用一次

匿名函数定义语法:

lambda 是关键字,表示定义匿名函数
传入参数表示匿名函数的形式参数,如: x, y 表示接收 2 个形式参数
函数体,就是函数的执行逻辑,要注意:只能写一行,无法写多行代码

 

Python文件操作

文件的编码

1. 什么是编码?

编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。

编码有许多中,我们最常用的是UTF-8编码

2. 为什么需要使用编码?

计算机只认识01,所以需要将内容翻译成01才能保存在计算机中。

同时也需要编码, 将计算机保存的01,反向翻译回可以识别的内容

文件的读取

open()打开函数

Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下

name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)

mode:设置打开文件的模式(访问模式):只读、写入、追加等。

encoding:编码格式(推荐使用UTF-8

示例代码:

注意:此时的`f``open`函数的文件对象,对象是Python中一种特殊的数据类型,拥有属性和方法,可以使用对象.属性或对象.方法对其进行访问,后续面向对象课程会给大家进行详细的介绍。

 

mode常用的三种基础访问模式

模式

描述

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

w

打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除

如果该文件不存在,创建新文件

a

打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后

如果该文件不存在,创建新文件进行写入。

操作汇总

Python基础知识总结 下_第8张图片

 

文件的写入

案例演示:

# 1. 打开文件
f = open('python.txt', 'w')

# 2.文件写入
f.write('hello world')

# 3. 内容刷新
f.flush()

注意:

  • 直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
  • 当调用flush的时候,内容会真正写入文件
  • 这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)

总结

1. 写入文件使用open函数的”w”模式进行写入

2. 写入的方法有:

  • wirte(),写入内容
  • flush(),刷新内容到硬盘中

3. 注意事项:

  • w模式,文件不存在,会创建新文件
  • w模式,文件存在,会清空原有内容
  • close()方法,带有flush()方法的功能

文件的追加

案例演示:

# 1. 打开文件,通过a模式打开即可
f = open('python.txt', 'a')

# 2.文件写入
f.write('hello world')

# 3. 内容刷新
f.flush()

总结

1. 追加写入文件使用open函数的”a”模式进行写入

2. 追加写入的方法有(和w模式一致):

  • wirte(),写入内容
  • flush(),刷新内容到硬盘中

3. 注意事项:

  • a模式,文件不存在,会创建新文件
  • a模式,文件存在,会在原有内容后面继续写入
  • 可以使用”\n”来写出换行符

Python异常、模块与包

异常

了解异常

1. 什么是异常:

异常就是程序运行的过程中出现了错误

2. bug是什么意思:

bug就是指异常的意思,因为历史因为小虫子导致计算机失灵的案例,所以延续至今,bug就代表软件出现错误。

异常的捕获方法

1. 为什么要捕获异常?

在可能发生异常的地方,进行捕获。当异常出现的时候,提供解决方式,而不是任由其导致程序无法运行。

2. 捕获异常的语法?

Python基础知识总结 下_第9张图片

3. 如何捕获所有异常?

异常的种类多种多样,如果想要不管什么类型的异常都能捕获到,那么使用:

  • except:
  • except Exception:
  • 两种方式捕获全部的异常

异常的传递

异常是具有传递性的

Python基础知识总结 下_第10张图片

 函数func01中发生异常, 并且没有捕获处理这个异常的时候, 异常

会传递到函数func02,func02也没有捕获处理这个异常的时候

main函数会捕获这个异常,  这就是异常的传递性.

Python模块

模块的导入

1. 什么是模块?

模块就是一个Python代码文件,内含类、函数、变量等,我们可以导入进行使用。

2. 如何导入模块

 3. 注意事项:

  • from可以省略,直接import即可
  • as别名可以省略
  • 通过”.”来确定层级关系
  • 模块的导入一般写在代码文件的开头位置

自定义模块

Python基础知识总结 下_第11张图片

 

自定义包

Python基础知识总结 下_第12张图片

 安装第三方包

Python基础知识总结 下_第13张图片

 

 

你可能感兴趣的:(python)