前言
最近几天跟着mooc学python,简单整理了跟随嵩天老师学习过程中的一些笔记以及比较优秀的第三方库,由于才疏学浅,笔记中难免有理解不到位的地方,如有错误还请指正。
Python保留字
基本数据类型
整数类型
0B开头2进制
0O开头8进制
0X开头16进制
浮点数类型
0.1+0.2==0.3会出现false是因为浮点数的不确定尾数
浮点数精度e-16,不确定尾数一般在此精度附近
此时用round(0.1+0.2,1)==0.3出现True
复数类型
Python提供了复数,用法与数学相似
//:整除
**:幂运算
类型混合运算,生成范围最广的类型
字符串类型
字符串切片[M:N:K]:从n开始以k为步长到m前一个
翻转字符串:[::-1 ]从头到尾以-1作为步长
n*x:复制字符串n次
x in s:判断子串
len():字符串长度
str():字符化
hex():返回字符十六进制
oct():返回字符八进制
chr():返回unicode对应字符
ord():返回字符对应的unicode(通过这两个可以简单的加解密)
(str为字符,下同)
str.lower()/upper():大小写转换
str.split(sep=None):根据分隔符返回列表,默认空格分隔
str.count(sub):子串出现次数
str.replace(old,new):替换字符
str.center(width,[fillchar]):根据宽度,按填充符居中
str.strip(chars):去除字符串左右的特定字符
str.join(item):在每个iterm元素(除了最后一个)后加str
字符串的格式化
.format()格式方法
组合数据类型
集合类型
无序、唯一、不可变数据类型(可变就可能会重复)
{1,2,3…}或者set()创建
空集合必须用set()创建(因为{}是用来创建空字典的,据说是字典比较常用hhh)
并、差、交、补
S|T、S-T、S&T、S^T(S、T中非相同元素)
集合处理方法
S.add(x) :若X不在集合中则增加X(对应了唯一性,x存在则无法加)
S.discard(x):移除X,X不在集合中时,不会报错
S.remove(x):X不在集合中时,会报异常keyerror
S.clean():清空
S.pop():随机取出并删除元素,可返回异常
S.copy():复制
len(S)
一个比较有意思用法:
Try:
while True:
print(a.pop(),end=””)
expect:
pass
因为无限循环,当a中没有元素时,返回异常,捕捉异常并停止,完成随机遍历
序列类型
序列的元素类型可以不同,是基类类型,衍生字符串、元组 、列表,操作方法有类似重复部分
S.index(x, i, j):返回从i到j第一次出现x的位置
S.count(X):计数
元组类型
元组是序列的拓展,一旦创建便不能修改
用()或tuple()创建逗号分隔,也可以不用(),默认是元组类型。
列表类型
列表用[ ]或list()创建,列表的元素可以为不同类型
del ls[i]:删除第i个
Ls.append(x):增加
Ls.insert(i,x):在i位置加x
Ls.pop():随机取出
Ls.remove(x):将第一次出现的x删除
Ls.reverse():翻转
字典类型
字典是映射类型的体现,是键值对的集合,键值对之间无序
用{ }或dict()创建,键值对用:表示,键值对中通过键获得值
这里{ }是创建空字典,而不是集合
字典类型的操作函数
del d[ k ]:删除字典中键k对应的值
k in d:判断键k是否在字典d中(注意是键索引而不是值索引)
d.keys():返回键
d.values():返回值
d.items():返回键值对
d.get(k,):k存在就返回相应的值,不存在则返回default
d.pop(k,):返回相应的值,并删除,不存在则返回default
d.popitem():随机取,以元组返回,不存在则返回KeyError
d.clear()
len(d)
文件类型
展现形式:文本文件和二进制文件
由单一特定编码组成的文件,如utf-8编码是文本文件。
直接由0-1组成,没有统一字符编码的,一般存在着特殊的组织结构,即文件格式,二进制文件。
文件句柄指将文件赋予的变量,文件操作步骤:打开-操作-关闭,打开指当前文件被占用。
t.open(filepath,mode)
t.close( )
文件打开mode的7种模式
“r“:只读,会返回文件不存在异常
“w“:覆盖写模式,不存在则创建文件,存在则完全覆盖
“x“:创建写模式,不存在则创建,存在返回fileexistserror
“a“:追加写模式,不存在则创建
“b“:以二进制方式打开文件
“t“:以文本方式打开文件
“+“:与最上面四个一同使用,形成r+…在原先功能上可增加同时读写的功能。
文件内容读取
t.read(size=-1):默认读入全部内容,,有参数读入size的长度
t.readline(size) :默认读入指针所指一行,有参数读该行前参数长度
t.readlines(hint) :默认读入所有行,以每行为元素形成列表,有参数读前参数行
文件写入
t.write(s):写字符串或者是字节流,根据打开的方式
t.writelines(lines):将元素全为字符串的列表写入文件(直接拼接写入,不是分行写入)
t.seek(offset):改变当前文件操作指针的位置,参数:0-文件开头、1-当前位置、2-文件结尾
注意:在写完文件后指针在结尾,如果重新读取的话要将指针调到开头
文件的几种读入方法
文件读入的方法(注意指针位置)
按字读
一次读入,一次处理
f=open("路径","r")
f.seek(0)
txt=f.read()
#处理txt
f.close