拆包
定义
解压序列,赋值给多个变量。这个序列可以是元组、列表、字典。
拆包的过程
1、元组拆包
如果不知道拆包,获取元素可以这样写
用拆包可以这样写。
常用的是这样的。元组有一种定义方式是不加括号的
元组内有几个值,前面的变量就要写几个,必须是一 一对应的。不能多也不能少。
以拆包的形式,为多个变量赋值
2、列表拆包
列表拆包其实也是一样的
3、字典拆包
字典拆包默认是拆key的
返回多个值的函数,获取返回值进行拆包
直接拆包返回值
我返回值不加括号,返回的就是元组,那我给它加个中括号呢
或者这样呢
其实是一样的,只是字典返回的是key而不是值
想让字典返回的是值,可以这样
通配符
位置必须确定。要么左边确定,要么右边确定,必须至少确定一边。
星号 *
我拆所有的内容可以拆,那么是不是可以只拆一部分呢?
只要最后一个元素
只要最后两个
只要第一个和最后两个,中间的不要
匿名函数(lambda函数)
正常定义函数都是这样,写在两行
那么我写在同一行是不是也能运行?
也是可以运行的。编译的时候已经把回车都过滤掉了
其实一个函数中最重要的就是参数和运算过程。也就是说def、函数名和return都可以省略。只要x,y和x+y就可以
所以匿名函数(lambda函数)的语法就是:lambda x,y:x+y
返回多个值
如果返回多个值,那么需要加括号。逗号会造成误解,所以要显式的给它加括号。
匿名函数的调用
1.创建一个匿名函数
2. 使用一个变量,来保存这个匿名函数
3.通过这个变量.来调用匿名函数
匿名函数的作用
匿名函数最主要的作用就是 调用的时候作为高阶函数的参数。
高阶函数,就是以函数为参数的函数.
参数位置不固定
函数名(匿名函数,其他参数)
匿名函数在列表推导式中的应用
匿名函数在filter函数中的应用
filter():过滤函数
map映射
文件的初级应用
读取当前文件的所有内容——绝对路径
按行读取文件
读取文件——相对路径
相对路径需要相对于启动模块目录下
如果不在同一目录下读取,会报错。需要进入到要读取的文件目录下才可以
写入文件 w模式
如果没有这个文件,写入的同时会新建这个文件。
w写模式 能创建文件 , 同名的文件 会被覆盖
写完要记得关闭close
写入文件 a模式
a写模式 能创建文件, 同名的文件 不会被覆盖 ,只会追加内容
打开二进制文件
游标
seek()
从0开始时我这个文件是a-g,我把游标移动到20的位置,就是从e开始打印
with
之前总是要close(),麻烦。可以用with,结果是一样的
移动游标到选定内容处
用find