Python

104 阅读4分钟

其他流程控制工具

if语句

if...elif...else

for语句

for a in b:

range函数:

需要遍历一个数字序列时用

range(5):0、1、2、3、4

range(5,10):5、6、7、8、9

函数

定义函数

def 函数名():

参数默认值: 对一个或多个参数指定一个默认值,调用时就可以用比定义更少的参数来调用。

image.png

关键字参数

屏幕截图 2023-08-04 140146.png

特殊参数

位置或关键字参数:如果函数定义中未使用/和*,则参数可以按位置或关键字传递给函数

仅限位置参数:仅限位置的形参不能作为关键字传入,要放在/之前。

仅限关键字形参:该形参必须以关键字参数的形式传入,应在参数列表的第一个仅限关键字形参之前放入*。

image.png image.png

lambda函数

语法:lambda[arg1[,arg2,...argn]]:expression

特性:匿名函数,有自己的输入和输出,有自己的命名空间。

例子

lambda x,y: xy //函数输入是x,y,输出是他们的积 xy

lambda:None //函数没有输入参数,输出是None

lambda *args: sum(args) //输入是任意个数参数,输出是他们的和(要求输入参数能进行算数运算)

lambda * *kwargs:1 //输入是任意参数,输出是1

常见用法:将lambda函数赋值给一个变量,通过这个变量间接调用该函数、将lambda函数赋值给其他函数,从而将其他函数用该lambda函数替换、将lambda函数作为参数传递给其他函数

数据结构

列表作为栈使用

后进先出,添加一个元素到堆栈的顶端,使用append(),从堆栈顶部取出一个元素,使用pop()。

列表作为队列使用

先进先出,目的很低效,因为在列表的末尾添加和弹出元素非常快,但是在列表的开头插入或弹出元素却很慢(因为所有的其他元素都必须移动一位)加入from collections import deque可以被设计成快速地从两端添加或弹出元素。

image.png

del语句

del语句用来从列表中移除切片或清空整个列表。

image.png

集合

花括号或set()函数可以用来创建集合,set()可以创建空集合,花括号是创建一个空字典。

image.png

字典

是 键:值 的集合,在一个字典里,键必须是唯一的,一对花括号可以创建一个空字典。

循环的技巧

在字典中循环时,用items()方法可以将关键字和对应的值同时取出。

image.png 在序列中循环时,用enumerate()函数可以将索引位置和其对应的值同时取出

image.png 同时在两个或更多序列中循环时,可以用zip()函数将其内元素一一匹配

image.png

输出格式

repr()和str()函数将任何值转化为字符串。str()函数是用于返回人类可读的值表示,而repr()是用于生成解释器可读的表示,对于没有人类可读性表示的的对象,两者返回的值一样。

image.png

错误和异常

语法正确,但引发的错误叫异常。例如除数为0。

处理异常

try语句工作原理

1.处理try子句(try和except关键字之间的语句)。

2.如果没有发生异常,则跳过except子句并完成try语句。如果发生异常,则跳过该子句剩下的部分,然后如果异常类型和except关键字后面的异常匹配,则执行except子句,然后继续执行try语句之后的代码;不匹配,则输出异常结果

image.png

一个try语句可能有多个except子句,以指定不同异常的处理程序。最多会执行一个处理程序。处理程序只处理相应的子句中发生的异常,而不处理同一try语句内其他处理程序中的异常。一个except子句可以将多个异常命名为带括号的元组。

image.png

image.png

image.png

exceptexcept Exception as e区别:

处理自己代码的异常用exceptexcept Exception as e好像没有太大的区别

如果涉及第三方模块的话,except不报错,except Exception as e会报错

抛出异常

raise语句允许程序员强制发生指定的异常

image.png

用户自定义异常

通过创建新的类来命名他们自己的异常,异常通常应该直接或间接地从Exception类派生。

image.png

image.png image.png

预定义的清理操作

image.png