在这里做笔记录下课程中,对我有用的一些知识点,先按照时间顺序这么记下来,有空了再做个整理吧
所有使用pip安装某程序的命令,后面加-i https://pypi.doubanio.com/simple/ 下载速度更快,其中这个地址是国内镜像网站的地址,可以替换成其他镜像网站
表示程序的格式框架,表达了包含和层次关系
以#号开头的单行注释,或以’’’和’’’包含的多行注释
字母、数字、下划线和中文组合;首字符不能是数字、名字不能与保留字相同
双引号和单引号都一样
字符串序号体系:有正向0开始和反向-1开始
字符串切片:[0:3],从0个开始,不到第3个
输入:input(“提示信息”)
输出:print(“sss”),格式化输出print(“dd{:.2f}d”.format(c)),大括号会被替换
eval() 把参数中的最外侧引号去掉
浮点数:
存在范围限制,取值范围-10307到10308,经度到10-16,因此可以忽略;
一般在16位上,开始可能存在不确定尾数,使用round(x,d)函数进行四舍五入后再比较大小
Round(x,d) d是小数截取位数
复数类型:
J = 更号下-1
复数类型分为实部和虚部
z.real 获取实部
z.imag 获取虚部
/号:返回浮点数结果;//号,返回整除结果
** 号:幂运算,x**y
不同类型混合运算,结果为最宽的类型,整数<浮点<复数
abs() 求绝对值
divmod(x,y) 商余 ,同时求x/y的商和余,输出(商,余)
pow(x,y[,z]) x**y%z ,z可省略
round(x[,d]) 四舍五入 d是保留小数位数
max(x,y,z,…) 求最大值
min(x,y,z,…) 求最小值
int() 转为整数,舍弃小数部分(不是四舍五入),参数可以是字符串
float() 转为浮点数,参数可以是字符串
complex() 转为复数
def <函数名>(<参数>):
<函数体>
return <返回值>
return语句不是必须的。
- 可选参数
可以设置可选参数,必须放在非可选参数之后。
def fact(x,y=1):
y就是可选参数
- 可变参数
*b:表示参数的数量可变,类似一个数组
- 参数传递的方式
按位置或名称传递,位置传递按照位置对应传递,而名称传递要显示指定名称和值,m=1 ,n=2
- 返回值
可以返回任意数量的值,返回多个类似于元组类型(1,2,3)。
- 局部变量和全局变量
函数内部定义的变量,是局部变量;
在函数体内部想使用全局变量,要使用global关键字声明变量;
局部变量若为组合数据类型且未使用[]来真实创建的话,视为全局变量。
- lambda函数
是一种匿名函数,用于定义简单的,能够在一行内表达的函数
<函数名> = lambda<参数>:<表达式>
主要用于作一些特定函数或方法的参数,一般情况下不建议使用
三引号也是字符串,如果没有被使用,就变成了多行注释;
双引号引起来的中间的单引号就是作为字符输出,反之亦然;
如果即希望输出单引号又希望输出双引号,就用三引号括起来;
字符串切片高级用法:[M:N:K] K表示步长,M和N缺失表示到头;
字符串逆序用[::-1]
- 特殊字符:
\b表示回退
\n表示换行
\r表示光标移回行首
- 字符串操作符:
N*x 复制N字符串X次;
X in s 判断X是否是s的子串
len()返回长度
str() 任意类型转为字符串
hex() 或 oct() 整数转为16进制或8进制小写形式
- 字符串处理函数
chr(x): x为unicode编码,返回对应字符
ord(x): x为字符,返回unicode编码
- 字符串处理方法
方法特指a.b的方式
lower()或.upper() 返回全小写或全大写
split(sep =none) 返回字符被以sep分割的子串
count(sub)返回子串sub在字符串中出现的次数
replace(old,new) 所有old子串被替换为new,要注意,replace不会改变原来字符串的内容
center(width[,fillchar]) 根据宽度居中,两边用fillchar来填充,缺省为空格
strip(chars) 从两侧去掉chars中的字符
join(iter) 给每个字符中间插入一个iter字符
- 字符串格式化
str.format()
“{1}dd{2}dd{3}”.format(“qq”,”ww”,20) 前面字符串中的占位符中的参数序号可以调换顺序
槽中的格式:{:<填充> <对齐> <宽度> <,千位分隔符> < . 精度数字> <类型>}
填充:用于填充的单个字符
对齐:<左对齐 ^居中 >右对齐
宽度:槽设定的输出宽度
类型:b c d o x X e E f %
- 用法
import time
time.xxx()
- 时间获取
time() 获取计算机内部时间值 是一个浮点数,以秒为单位
ctime() 获取时间,字符串形式,易读
gmtime() 获取时间,返回内部时间变量类型
- 时间格式化
strftime(tpl,ts)
tpl是格式化模板字符串,定义了输出效果,ts是时间变量类型(即用gmtime()获得的时间)
- 格式化字符串
strptime(str,tpl) 从字符串中解析出时间变量
str是字符串形式时间,tpl 是格式化输入
返回一个时间变量
- 程序计时
perf_counter() 测量时间,两次调用的差值
sleep() 停止
- 紧凑形式的二分支结构
<表达式1> if <条件> else <表达式2>
- and 逻辑与
- or 逻辑或
- not 逻辑非
- 基本用法
try:
except[异常类型]:
try中语句发生异常,执行except中的语句
- 高级用法
else对应语句块3在不发生异常时执行;
try:
<语句块1>
except:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
finally对应语句块4一定执行;
- 遍历循环
for <循环变量> in <遍历结构>:
从遍历结构提取元素,放到循环变量中。
range(N,M,K):表示从N开始,不到M,步长为K,产生一个列表。
遍历结构可以放一个列表,遍历列表每个元素;
放一个文件标识符,遍历每一行;
- 无限循环
while <条件>:
反复执行,直到条件不满足;
- 循环控制保留字
break 和continue
- 循环高级用法
for in :
else:
或
while :
else:
else的语句块在循环没有被break退出时执行
伪随机数,采用梅森旋转算法生成的伪随机序列中的元素。
- 基本随机数函数
seed() 设置种子,不设seed时,默认使用第一次random时的系统时间作为种子
random()获得0-1之间的随机小数
- 扩展随机数函数
randint(a,b) 生成一个a到b之间的整数
randrange(m,n[,k]) 生成一个M到N之间以K为步长的随机整数
getrandbits(k) 生成K比特长度的随机整数
uniform(a,b) 生成a到b之间随机小数
choice(seq) 从序列seq中随机选择一个元素
shuffle(seq) 将seq中元素随机排序(seq本身被打乱了)
- 递归的定义
两大关键特征:链条和基例
将源码转换为可执行文件。
使用pip install pyinstaller安装;
pyinstaller -F <文件名.py>
sort()方法,可用于排序,
参数 :
继承了序列全部通用操作
有顺序,创建后可以随意修改
使用[]或list()创建
元素可以相同或不同,无长度限制
通过键获取值:value = d[key]
增加值:d[key] = value
jieba库是优秀的中文分词第三方库,用于将中文文本分成单个的词语
使用 pip install jieba 来安装
最常用的精确模式,jieba.lcut(),返回一个列表
本质上所有文件都是二进制形式存储
形式上有文本和二进制形式展示
f = open(<文件名>,<打开模式>)
opeen函数用于打开文件
f.close()
close()函数用于文件关闭
有打开就有关闭,不要忘了close
还可以用
for line in file:
line...
的方式去编译一个文件,读取每一行
一维数据:有序或无序的线性方式组织的数据,对应列表、数组、集合等概念
二维:二维数据是一维数据的组合,典型的比如表格
用split()函数对数据进行分隔,变为列表
一个列表,使用
"<分隔符>".join(list)
的方式进行处理,使其变为由分隔符分隔的数据,再写入文件
通常使用二维列表进行表示,即外层列表的元素本身也是一个列表
csv是一个国际通用的一二维数据存储格式,以.csv为后缀
每行一个一维数据,用逗号分隔,无空行
excel等通常都可以读取csv文件
某个元素缺失,逗号必须要保留
一般索引习惯,先行后列
fo = open(name)
ls = []
for line in fo:
line = line.replace("\n","") #去掉每行数据最后的换行符
ls.append(line.split(",")) #,每行按逗号分隔为列表
fo.close()
ls = [[],[],[]] #一个二维列表
f = open(name,'w') #写形式打开文件
for item in ls:
f.write(",".join(item) + "\n") #以逗号分隔元素返回一个字符串,再在末尾加换行符
f.close()
用一个二层循环来挨个遍历
wordcloud是一个优秀的词云展示第三方库
可以做这种图
安装使用
pip install wordcloud
w = wordcloud.WordCloud(<参数>)
获得一个词云对象
传递给mask的图片,必须要是一个白底的,具有某些形状的图片,比如
抽象问题的计算过程,利用计算机自动求解
计算思维是基于计算机的思维方式
https://pypi.org/
这个最常用,速度慢的话可以更换镜像网站的地址,见小技巧
anaconda
UCI页面: https://www.lfd.uci.edu/~gohlke/pythonlibs/
https://docs.python.org/zh-cn/3/
提供通用的、几百根的操作系统交互功能,支持windows、MAC、linux
包含常用路径操作、进程管理、环境参数等
使用os.path子库进行操作
import os.path
os.system(command)
执行command命令
Django > Pyramid > Flask