python 学习心得第四章
1.lambda表达式
1:什么是lambda表达式
为了简化简单函数的代码,选择使用lambda表达式
上面两个函数的表达式虽然不一样,但是本质是一样的,并且lambda表达式和三元运算的结合,充分的减少了代码的数量
2.python的内置函数
1 绝对值 abs()
2 all()循环参数,如果每个参数都为真。则all返回True
all(里面是iterable)
注意假值都有:0 none False [] {} '' () 都为假值
3 any() 只要有一个为真 就为真值
any(里面是iterate)
4 ascii,对象的类里面找_repr_方法的返回值
5 bin二进制
6 oct八进制
7 十进制
8 十六进制
9 各种进制转换为十进制
二进制转十进制
八进制转十进制
十六进制转十进制
int(里面第一个为进制的数,第二个为是什么进制)
10 bool判断对象的真假
11 str()将对象转化为字符串型
12 byte()将对象转为字节类型
如果是转数字则不用加encoding utf-8,转字符串就要加encoding utf-8
13 acsii内部的转化,ascii码是由一个字节决定的,总共是256总表示
14 随机验证码
15 可执行的
16 compile编译 python会打开需要执行的文件,把里面的内容识别为一个大的字符串,然后通过compile把这个大的字符串编译为python可以识别的代码
或者直接放一个字符串在compile里面让其进行编译
17 dir()查询功能
18 help()查询功能
19 divmod 返回通过被除数和除数 返回商和余数(一般用于分页,只要有余数,说明要加一页)
20 eval执行代码表达式
excel表里面可以用这个方法进行计算,因为excel里面默认的都是字符串
eval里面可以传人字典参数
eval只能执行表达式且有返回值
21 exec执行python的代码
exec执行的代码没有返回值,所以不能执行表达式这种代码
总结:python的compile、eval、exce组合起来用,compile用来执行编译代码,eval和exce用来执行代码。
22 filter过滤,filte(函数,iterate)
filte里面直接传人函数,如果用的是lambda就直接写lambda的表达式
并且a只有循环以后才能看见元素,原理和rang只有循环以后元素才会进入内存是一样的
23 map (函数,iterate)让所有的元素都受到函数的执行
24 globals()和locals()
注意 globals放在那里都可搜全局变量,但locals只能放在你学、要搜索的局部里面才能搜局部变量
25 hash()为了保存比较大的字符串且方便快速定位。比如字典的K很大,可以保存为hash值
无论保存的是什么字符串,都是一样的长度值
26 isinstance 判断这个对象是不是这个类创造的,支持当前类的父类
27 iter创造一个可以iterate的对象
28 next取iter创造出来的对象里面的元素
如果取完了就会报错
29 max 和 min去最大最小值
30 pow求指数
31 round四舍五入
32 sum 求和 ,里面是iterable的
sum参数里面iterable后面的参数是求和以后继续增加的数字
33 zip组合元素
由于li1和li2都是元组所以a为((11,'a'),(22,'b'),(33,'c'))如果li1和li2为列表则为[(11,'a'),(22,'b'),(33,'c')]
排序sort()只能数字和数字排序,字符串和字符串排序
对于数字按大小排列的
对于字符串,把其转换为字节以后按数字>字母>汉字(汉字字符串转换为字节以后按数字小的排在前面)
3.函数的形参是对实参的引用
4.文件的操作
文件操作一般分为打开文件,操作文件,关闭文件
打开文件的时候需要指定打开文件的路径和方式
打开文件用open函数
打开文件的模式有
- r 只读(也是文件的默认操作)
- w 只写 (不可读,不存在则创建,存在则清空)
- x 只写 (不可读,不存在则创建,存在则报错)
- a 只写 (不可读 不存在则创建 ,存在则报错)
r 只读:
w 只读:
x 只读:
a 追加:
在基本操作后面加“+”符号,表示可读可写
- r+ 读写
- w+ 写读
- x+ 写读
- a+ 写读
r+:
w+:(x+和w+一样,唯一的不同就是当文件存在的时候x+报错)
a+:
在基本操作后面加b,所以python通过文件和计算机交互就使用字节,不再使用字符串
- rb,r+b
- wb,w+b
- xb,x+b
- ab,a+b
rb:
如果想要读取b的内容只能用print(str(b, encoding='utf-8'))方法转换为字符串来看
wb:(ab和xb与wb的写方法相同)
文件操作常用的功能:
write(写)、close(关)、read(读)、readline(一行一行的读)、seek(操作指针的位置)、tell(找到指针的位置)、flush(文件还没有操作完关闭的时候,数据还在内存,强行把数据刷到硬盘)
truncate(把指针前面的数据都保留下来,其它的删除)
注意:seek在选择指针位置的时候,如果是r方式类型,则read()里面的指针是按一个字符一个字符走的,如果是rb类型的方式,read()里面的指针是按一个字节一个字节走的。
每一次关掉文件以后,指针会自己归零
with ....as方法的操作:
1 可以不用再写close(),执行完以后自动关闭文件。
2 可以同时执行两个文件,这是py2.7以后新开发的功能
本章总结:
1 函数可以作为参数 传递到另外一个函数里面
a代表的是函数,a()代表执行函数。x=123和a=a代表的函数是一个道理
2 利用函数的传递实现map功能
无论是现实map还是filter都是实参的时候传一个函数和一个对象进去,在函数内部将形参进行for循环,利用for循环出来的对象元素再将其放入形参函数进行操作,最后得到处理以后的结果
3 读和写的时候内部有两个指针,分别被读和写操作