Python基础知识总结 下

目录

Python 函数进阶

函数多返回值

函数多种传参方式

匿名函数

函数作为参数传递

lambda匿名函数

Python文件操作

文件的编码

文件的读取

文件的写入

总结

         文件的追加

总结

Python异常、模块与包

异常

异常的捕获方法

异常的传递

Python模块

模块的导入

自定义模块

自定义包

安装第三方包


Python 函数进阶

函数多返回值

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

 

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

变量之间用逗号隔开

支持不同类型的数据return

函数多种传参方式

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

 注意:

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

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

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

注意:

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

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

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

注意:

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

位置传递

注意:

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

关键字传递

注意:

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

匿名函数

函数作为参数传递

如下代码:

 函数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

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

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

操作汇总

 

文件的写入

案例演示:

# 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. 捕获异常的语法?

3. 如何捕获所有异常?

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

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

异常的传递

异常是具有传递性的

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

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

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

Python模块

模块的导入

1. 什么是模块?

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

2. 如何导入模块

 3. 注意事项:

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

自定义模块

 

自定义包

 安装第三方包

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值