北京理工大学·Python语言程序设计·函数整理

发布于:2023-01-20 ⋅ 阅读:(785) ⋅ 点赞:(0)

学习内容:


自己复习梳理,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个字节长度的随机字符串

基本数据处理

一维

二维

先索引行再列

csv格式用逗号分隔每行存储一个一维数据

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到