学习内容:
自己复习梳理,python自学的小小步,重点在函数的运用,对python的一些基础内容,如循环语句什么的基础知识没有放进去,所以如果真0编程基础的话,可能会看不懂。 这是1至7周的内容,过几天会更新后续两周内容(如果我知道怎么更新的话)
**************************************************************************************************************
2022.8.8更新
**************************************************************************************************************
20228.12更新
学习产出:
Python
交互函数
input()
返回为字符串类型
print()
print({ }.format())
print的格式化
出现多{ }时默认按顺序对应,也可在{ }中填充数字改变填充顺序
格式为{<序号>:<填充><对齐><宽度><,><.精度><类型>
<>^对应左右居中对齐;,为千万位分隔符(部分选填)
chr(12288)中文空格,用于中文的填充解决字符大小不统一的问题
print(,end='')
修改字符串尾值,通常尾值位\n,通过修改可以避免\n换行
转换函数
eval()
消去将字符串引号,返回内容值
int()
float()
str()
complex()
转换为复数
set()
转换为集合
tuple()
转换为元组
list()
转换为列表
dict()
转换为字典
其他函数
range(a[,b,c])
产生a到b之前的整数,步长为c,默认为0到a
improt
import xxx
引用xxx库
import xxx as x
from xxx.aa import xxx
type(x)
返回x类型
map(f,list)
将列表中每个元素进行f运算
例:map(eval,list)
数字类型
数学函数
pow(x,y[,z])
幂余,(x**y)%z
abs(x)
divmod(s,y)
商余,(x//y,x%y),divmod(10,3)=(3,1)
max(*x)
min(*x)
浮点数
round(float,x=0)
保留x位大多解决不确定尾数问题
复数
.real
获得实部
.imag
获得虚部
字符串类型
len(x)
hex(x)
整数x的十六进制
oct(x)
整数x的八进制
chr(x)
根据Unicode编码返回对应字符
ord(x)
返回对应unicode编码
str.lower() str.upper
将str转为大小写
str.split(sep=None)
返回str根据sep被分割的部分集的列表
默认为空格分隔,且连续空格也视为分隔符 split(' ')与默认不同,只视单个空格为分隔符
str.join(iter)
在iter中每个元素中间添加str作为分隔符,最后输出字符串
与split相反
str.count(sub)
返回sub在str中出现的次数
str.replace(old,new=None)
将str中所有old替换为new,返回结果字符串,不更新原函数
可用于取消行尾的\n
str.center(width[,fillchar])
将str居中输出,width为长度,fillchar为填充字符,默认空格
str.strip(chars)
将str的左右侧去掉chars的字符
组合数据类型
集合
集合间操作
S | T
S并T
S - T
S与T的差
S & T
S交T
S ^ T
S补T
S </> T
包含或子集关系
集合操作函数
.add(x)
.discard(x)
移除x,如果不在,不报错
.remove(x)
移除x,如果不在,报错
.clear()
移除全部
.pop()
随机取出一个元素,更新原集合,若原集合为空,报错
.len(x)
集合内部存在顺序,但与表面显示不一致,不好使用
序列
序列函数通用
min(s)/max(s)
返回相应函数
.index(x[,i,j])
返回从 i 到 j 中第一次出现 i 的绝对位置
.count(x)
返回出现x的总次数
元组(tuple)
用()表示,也可舍去()直接表示
len()
列表
del ls[x]
删除x元素
.append(x)
最列表最后增加元素x
.clear()
清空列表
.copy()
返回副本
.insert(i,x)
在i位置增加元素x
.pop(i)
去除第i位元素,并更新
.remove(x)
将列表中出现的第一个x元素删除
.rexerse()
反转列表
.sort(key[,reverse])
key表示排序关键字,reverse表示升降序,更新list
key格式: key = lambda x : x[0]
reverse=False升序 reverse=True降序
例: ls.sort(key=lambda x:(x[0],-x[1]) , reverse=False
优先按x[0]升序排序,再按x[1]降序
sorted(list,key,reverse=False)
用法与.sort类似,但sorted只返回排序后的列表,.sort会更新list
字典
函数
del d[k]
删除字典d中键k对应的值
.keys()
返回所有的键
.values()
返回所有的值
.items()
返回所有键值对
返回为dick_items类型
.get(k,<default>)
若键k存在,返回值,若不存在,返回default
.pop(k,<default>)
若键k存在,取出值,并更新,若不存在,返回default
.popitem()
随机取出一个键值对,并更新
.clear()
清空键值对
字典运用
for k in d
遍历键,并非键值对
文件操作
文件的打开与关闭
<变量名>=open('文件名'[,打开模式])
将文件打开指向变量,默认为文本模式,只读模式 变量名为文件句柄
打开模式: 'r'只读,如果文件不存在,报错 'w'覆盖写,文件不存在则创建,存在则覆盖 'x'创建写,若文件已存在,则报错 'a'追加写,文件不存在则创建 ,在文件最后追加内容 'b'二进制文件模式 't'文本文件模式 '+'配合使用字符
with open('文件名'[,打开模式) as f: 文件操作
在使用f=open()是一旦程序发生异常,文件下方的close语句并不会被执行,而with open() as f可以保证文件被关闭
<变量名>.close()
变量名为文件句柄
文件内容的读取
f.read(size)
读入文件句柄f的size长度内容,默认size=-1,读入全部
f.readline(size)
读入文件句柄f的前size长度行,默认size=-1,读入全部
f.readlines(hint)
读入文件句柄f的前hint行,形成列表,默认hint=-1,读入全部
for循环:for i in f
默认分行遍历文件句柄f
注意:这是文件句柄能直接参加的唯一一组语句
文件的写入
f.write(s)
向f写入s
f.writelines(lines)
将一个字符串列表(同行无分隔符紧凑)写入f
指针控制
f.seek(offset)
offset= 0 文件开头 1 当前位置 2 文件结尾
程序的特殊分支控制
<表达式1> if <条件> else <表达式2>
条件成立执行1,不成立执行2
异常处理
try: <语句1> except: <语句2>
如果语句1出现异常则执行语句2
可在except后标注异常类型,但这样就仅响应此类异常
try: <语句1> except: <语句2> else: <语句3> finally: <语句4>
如果发生异常执行2-4 如果无异常执行1-3-4
循环中的else
for i in a: 语句 break else: 语句1
break作为奖励语句 如果循环正常运行,没有被break退出 奖励执行语句1 (while循环同理)
函数的定义与调用
全局变量和局部变量
ls=['a'] def f(b): ls=[] ls.append(b) return print(f('b')) ['a']
ls=['a'] def f(b): ls.append(b) return print(f('b')) ['a','b']
lambda
<函数名> = lambda <参数> : <表达式>
turtle库
属性控制
画布属性
.setup(width,height,startx,starty])
0,1控制画布大小;2,3控制画布与主屏幕位置,默认画布居中
.title()
修改窗口名
.done()
运行结束不自动关闭窗口
画笔属性
.penup()
.pu()
.pendown()
.pd()
.pensize()
.pencolor(color)
turtle.cllormode()控制色彩模式
1.0为小数模式;255为RGB模式
color为颜色字符或颜色代码
.hideturtle()
T,F用于隐藏画笔
.speed()
画笔速度设置0~10
.tracer()
True/False控制指针轨迹,若关闭则取消轨迹,理解为超速绘制图形
轨迹控制
角度控制
.seth(angle)
转向angle方向,angle为绝对角度,以正右为0
.left(angle)
右转angle度
.right(angle)
左转anglr度
运动控制
.bk()
后退
.fd()
前进
.forward()
.circlr(r,d=360)
以正左r单位位置为圆心,转d度
.goto()
以画布中心为原点
文字输出
.write(s,font=(name,size,type))
s为文本,font内参数分别为字体名,大小,类型
全局控制
.clear()
清屏
.updata()
刷新,可用来解决.tracer()带来的绘制不完整问题
time库
.time()
获取当时时间戳
.ctime()
以易读的方式获取当时时间戳,返回字符串
.gmtime()
返回计算器可处理的时间格式,一般搭配使用
.strftime('格式',time.gmtime)
返回字符串
格式: %Y引用年份 %m引用月份数字 %B引用月份名称 %b引用月份缩写 %d引用日期数字 %A引用星期 %a引用星期缩写 %H引用24h小时 %I引用12h小时 %p引用上下午 %M引用分钟 %S引用秒
strptime(str,tpl)
与strftime()相反
.perf_counter()
返回一个CPU级别的精准时间计数值,但起点不确定,一般连续调用求差值
.sleep()
睡眠
random库
基本随机函数
.seed()
不输入随机数种子时默认输入时间参数充当随机数种子 seed()根据随机数种子产生一组随机数,当随机数种子不变时,产生的那一组随机数不变
.random()
产生[0.0,1.0)之间的随机小数
随随机数种子重置而重置
拓展函数
.randint(a,b)
生成[a,b]之间的整数
.uniform(a,b)
生成[a,b]之间的随机小数
.randrange(m,n[,k])
在[m,n]中以k为步长生成随机数
.getrandbits(k)
生成k比特长的随机数
.choice(seq)
从sqe中随机选择一个数
.shuffle(seq)
将seq打乱并返回
PyInstaller库
用于把.py源文件转换为可执行文件
-h 查看帮助 --clean 清理打包过程中的临时文件 -D,--onedir 默认值,生成dist文件夹 -F,--onefile 在dist文件夹中只生成打包文件 -i<图标名.ico> 指定打包程序使用的图标(icon)文件
列:pyinstaller -i tubiao.ico -F wenjian.py
jieba库
.lcut(s)
返回分词结果,为字符串组成的列表
lcut(s,cut_all=True)
全模式,存在冗余
.lcut_for_search(s)
搜索引擎模式,存在冗余
.add_word(w)
向分词字典增加新词w
wordcloud库
w=wordcloud.WordCloud([参数])
生成WordCloud对象w
参数: width 生成图片的宽度 height 生成图片的高度 min_font_size 词云中的最小字号 max_font_size 词云中的最大字号 tont_step 各字体从最小号到最大好的步长 font_path 指定字体文件 max_words 最大单词数量 stop)words 不显示的单词列表 msak 改变词云形状,需要引用别的库 background_color 指定词云背景颜色
mask参数
form scipy.misc import imread mk=imread('指定现状图片.png') w=wordcloud.WordCloud(mask=mk)
w.generate(txt)
向w中加载文本txt
w.to_file(filename)
输出为图像文件。例 w.to_file('词云.png')
os库
.path子库
.abspath(path)
返回path的绝对路径
.normpath(path)
归一化路径,用\\分隔
.relpath(path)
返回当前程序和文件之间的相对路径
.dirname(path)
返回path的目录名称
.basename(path)
返回path最后的文件名称
.join(path,*paths)
组合路径
.exists(path)
判断文件或目录是否存在
.isfile(path)
判断文件是否存在
.isdir(path)
判断目录是否存在
.getatime(path)
返回对应文件或目录上一次的访问时间
.getmtime(path)
返回对应文件或目录上一次修改时间
.getctime(path)
返回对应文件或目录的创建时间
.getsize(path)
返回对应文件大小
.system(command)
执行程序或命令command
例:os.system('C:\\Windows\\System32\\calc.exe')
例:os.system('C:\\Windows\\System32\\mspaint.exe D:\\PYRCourse\\grword.png')
.chdir(path)
改变当前程序操作路径
.getcwd()
返回程序的当前路径
.getlogin()
获得当前系统登陆用户名称
.cpu_count()
获得当前系统cpu数量
.urandom()
获得n个字节长度的随机字符串
基本数据处理
一维
二维
先索引行再列