笔记

1、eval函数:

1)去掉参数最外侧引号并执行余下语句的函数
a = eval("1+2")

2、turtle库

turtle.setup(L, H, x, y) 控制窗口大小和位置
turtle.colormode(mode)	 默认采用小数值,若mode为1则RGB小数值模式, 255RGB整数值模式
turtle.penup()		 抬起画笔 别名turtle.pu()
turtle.pendown()	 落下画笔 别名turtle.pd()
turtle.pensize(width) 	 画笔宽度 别名turtle.width(width)
turtle.pencolor(color)   画笔颜色 color为颜色字符串或RGB值
	turtle.pencolor("purple")
	turtle.pencolor(0.63, 0.13, 0.94)
	turtle.pencolor((0.63, 0.13, 0.94))
turtle.forward(d)    	 向前行进 别名turtle.fd(d)可为负数turtle.circle(r, extend) 根据半径r绘制extent角度的弧形
	turtle.circle(100) 	默认圆心在左手边r处
	turtle.circle(-100) 	圆心在右手边r处
turtle.setheading(angle) 改变行进方向 别名turtle.seth(angle),angle绝对角度, 并不会前行
turtle.left(angle)	 向右转, 并不会前行
turtle.right(angle)	 向左转
turtle.done() 		 程序不会自动退出

from turtle import* 
	setup(650, 350, 200. 200)
import turtle		 不会出现函数重名问题
	turtle.setup(650, 350, 200, 200)
import <库名> as <库别名>

3、range函数

range(N) 		产生0 - N-1的整数序列,共N个
range(M, N)		产生M - N-1的整数序列,共N-M个

4、复数实例

z = 1.23e-4+5.6e+89j
z.real	获得实部
z.imag	获得虚部

5、数值运算操作符

x / y 		除, x与y之商,10 / 3 = 3.3333333335
x // y 	整数除, 10 // 3 = 3
x ** y 	幂运算, x的y次幂, y可以是小数

6、数值运算函数

abs(x)				绝对值
divmod(x, y) 			商余, divmod(10, 3) 结果为(3, 1)
pow(x, y[, z])			幂余, (x ** y) % z,[..]表示参数z可以省略
round(x[, d])  			四舍五入,d是保留小数位数,默认值为0
max(x1, x2, x3,..., xn)	 求最大值
min(x1, x2, x3, ..., xn)	 求  最小值

7、字符串

字符串类型的格式化:“{1}:计算机{0}的CPU占用率为{2}%”,format("2018-10-10", "C", 10)
format()方法的格式控制 : <填充(,千位分隔符)> <对齐> <宽度>  “{0:=^20}”.format("PYTHON")
<字符串>[M:N],M缺 失表示至开头,N缺失表示至结尾
"O一二三四五六七八九十"[:3] 结果为 “O一二”
<字符串>[M:N:K], 根据步长K对字符串切片
"O一二三四五六七八九十"[ [1: 8: 2] 结果为“一三五七”
"O一二三四五六七八九十"[ [: : -1] 结果为“十九八七六五四三二一O”
x + y 连接两个字符串x和y
n*x 或 x*n 复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回False
len(x) 返回字符串的长度,无论是字符,数字,标点,汉字均为一个字符
str(x) 任意类型x所对应的字符串形式
hex(x) 整数x的十六进制小写形式字符串 hex(425) 结果为“0x1a9” 
oct(x) 整数x的八进制小写形式字符串 oct(425) 结果为“0o651”
chr(x) x为Unicode编码,返回其对应的字符
ord(x) x为字符,返回其对应的Unicode编码   
str.lower()或str.upper() 返回字符串的副本,全部字符小写/大写
str.split(sep = None) 返回一个列表,由str根据sep被分隔的部分组成 “A,B,C”.split(",")结果为['A', 'B', 'C']
str.count(sub) 返回子串sub在str中出现的次数
str.replace(old, new) 返回字符串str副本,所有old子串被替换为new 
str.center(width[, fillchar]) 字符串str根据宽度width居中,fillchar可选 “python”.center(20, "=")结果为  '=======python======='
str.strip(chars) 从str中去掉在其左侧和右侧chars中列出的字符  "= python= ".strip(" =np") 结果为 "ytho"
str.join(iter) 在iter变量除最后元素外每个元素后增加一个str  ",".join("12345") 结果为 “1,2,3,4,5” 

8、time库

import time
时间获取:time() ctime() gmtime()
时间格式化:strftime() strptime()
程序计时:sleep() perf_counter()

time() 获取当时时间戳,即计算机内部时间值,浮点数(从1970年1月1日0点到目前位置的秒)
ctime() 获取当前时间并以易读方式表示,返回字符串
gmtime() 获取当前时间,表示为计算机可处理的时间格式
strftime(tpl, ts) tpl是格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量  t=time.gmtime()  time.strftime("%Y-%m-%d %H:%M:%S", t)
	格式化字符串:%Y 年份;%m 月份;%B 月份名称;%b月份名称缩写;%d 日期;%A 星期;%a 星期缩写;%H 小时(24小时制);%h 小时(12制);%p 上/下午;%M 分钟; %S 秒;
strptime(str, tpl) str是字符串形式的时间值 tpl是格式化模板字符串,用来定义输入效果
	timeStr = "2018-01-26 12:55:20"
	time.strptime(timeStr, "%Y-%m-%d %H:%M:%S")
perf_counter() 返回一个CPU级别的精确时间计数值,单位为秒
	start = time.perf_counter()
	end = time.pref_counter()
	end - start
#文本进度条
import time
start = time.perf_counter()
scale = 50
print("开始执行".center(scale//2, '-'))
for i in range(scale + 1):
    a = '*' * i
    b = '.' * (scale - i)
    c = i / scale * 100
    dur = time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end = "")
    time.sleep(0.1)
print("\n" + "执行结束".center(scale//2, '-'))

9、异常处理

try:
	<语块1>
except [<异常类型>]:
	<语块2>
try:
num = eval(input(“请输入一个整数:”))
print(num**2)
except NameError:
	print(“输入的不是整数”)
else:#若没有发生异常
	<语块3>
finally:#一定执行
	<语块4>

10、random库

随机书种子确定随机序列的产生
seed(a=None) 初始化给定的随机数种子,默认为当前系统时间
	random.seed(10)
random() 生成一个[0.0, 1.0)之间的随机小数
	random.random() == 0.5714025946899135
 randint(a, b) 生成一个[a, b]之间的整数
 randrange(m, n[, k])生成一个[m,n)之间以k为步长的随机整数
 getrandbits(k) 生成一个k比特长的随机整数
 uniform(a, b) 生成一个[a,b]之间的随机小数
 choice(seq) 从序列seq中随机选择一个元素
 	random.choice([1,2,3,4,5,6,7,8,9])		8
 shuffle(seq) 从序列seq中元素随机排列,返回打乱后的序列
 	s=[1,2,3,4,5,6,7,8,9]; random.shuffle(s);  print(s);    [3,5,8,9,6,1,2,7,4]

11、lambda函数

#f为函数名,x,y为参数,x+y为返回值
f = lambda x, y : x + y
f(10, 15) 	#25
f = lambda : "lambda函数"
print(f())	#lambda函数

12、PyInstaller库

pyinstaller库的安装:
	pip install pyinstaller

PyInstaller -h 		查看帮助
PyInstaller --clean   清理打包过程中的临时文件
pyinstaller -D, --onedir  默认值,生成dist文件夹
-F, --onefile   		在dist文件夹中只生成独立的打包文件
-i <图标文件名.ico> 指定打包程序使用的图标(icon)文件
	pyinstaller -i curve.ico -F SevenDigitsDrawV2.py

13、组合数据类型

集合类型的定义:
	集合是多个元素的无序组合
	集合元素是不可变数据类型
集合的建立:
	集合用大括号{}表示,元素之间用逗号分隔
	建立集合类型用{}或set()
	建立空集合类型,必须使用set()
集合操作符:
	S|T   返回一个新集合,包括在集合S和T中的所有元素
	S - T 返回一个新集合,包括在集合S但不在T中的元素
	S & T 返回一个新集合,包括同时在集合S和T中的元素
	S ^ T 返回一个新集合,包括集合S和T中的非相同元素
	S <= T 或 S<T 返回True/False,判断S和T的子集关系
	S>=T 或 S>T 返回True/False,判断S和T的包含关系
集合处理方法:
	S.add(x)       如果x不在集合S中,将x增加到S
	S.discard(x)  移除S中元素x,如果x不在集合S中,不报错
	S,remove(x)  移除S中元素x,如果x不在集合S中,产生KeyError异常
	S.clear()        移除S中所有元素
	S.pop()          随机返回S的一个元素,更新S,若S为空产生KeyError异常
	S,copy()	     返回集合S的一个副本
	len(S)    	     返回集合S的元素个数
	x in S            判断S中元素x,x在集合S中,返回True,否则返回False 
	set(x)	     将其他类型变量转换为集合类型
序列类型定义:
	序列是具有先后关系的一组元素
序列的具体表现:
	字符串,元组,列表
序列的操作符:
	x in s		如果x是序列s的元素,返回true
	s + t			连接两个序列s和t
	s * n或n * s 	将序列s复制n次
	s[i]			索引,返回s中第i个元素,i是序列的序号
	s[i:j] 或 s[i:j:k]	切片,返回序列s中第i到j以k为步长的元素子序列
序列类型通用函数和方法
	len(s)				返回序列s的长度
	min(s)				返回序列s的最小元素,s中的元素需要可比较
	max()				返回序列s的最大元素,s中的元素需要可比较
	s.index(x) 或s.index(x,i,j)	返回序列s从i开始到j位置中第一次出现元素x的位置
	s.count(x) 			返回序列s中出现x的总次数
		
元组类型定义:
	元组是序列类型的一种扩展,是一种序列类型,一旦创建就不能被修改
	使用小括号 () 或者 tuple() 创建,元素间用逗号,分隔
	() 可以省略

列表类型定义:
	列表是一种序列类型,创建后可以随意被修改
	使用方括号[] 或 list() 创建,元素间用逗号,分隔
列表类型操作函数和方法:
	ls[i] = x			替换列表ls第i元素为x
	ls[i:j:k] = lt			用列表lt替换ls切片后所对应元素子列表
	del ls[i]			删除列表ls中第i元素 
	del ls[i;j;k]			删除列表ls中第i到第j以k为步长的元素
	ls += lt			更新列表s,将列表lt中元素加到ls中
	ls *= n			更新列表s,其元素重复n次
		ls = ["cat", "dog", "tiger", 1024]
		ls[1:2] = [1, 2, 3, 4]
		['cat', 1, 2, 3, 4, 'tiger', 1024]
	ls.append(x)		在列表ls最后增加一个元素x
	ls.clear()			删除列表ls中所有元素
	ls.copy()			生成一个新列表,赋值ls中所有元素
	ls.insert(i, x)		在列表ls的第i位置增加元素x
	ls.pop(i)			将列表ls中第i位置元素取出并删除该元素
	ls.remove(x)		将列表ls中出现的第一个元素x删除
	ls.reverse()		将列表ls中的元素反转

字典类型:
	字典类型使用{}和dic()创建,键值对之间使用:分离
	d[key]方式既可以索引,也可以赋值
字典类型操作函数和方法
	del d[k]			删除字典d中键k对应的数据值
	k in d 			判断键k是否在字典d中,如果在返回True,否则False
	d.keys()			返回字典d中所有的键信息
	d.values()			返回字典d中所有的值信息
	d.items()			返回字典d中所有键值对的信息
	d.get(k)			键k存在,则返回相应值,不在则返回<default>值
	d.pop(k, <default>)	键k存在,则取出相应值,不在则返回<default>值
	d.popitem()		随机从字典d中取出一个键值对,以元组形式返回
	d.clear()			删除所有的键值对
	len(d)			返回字典d中元素的个数
		d = {"中国":"北京", "美国":"华盛顿"}
		d.get("中国", "伊斯兰堡")
		‘北京’
		d.get("巴基斯坦", "伊斯兰堡")
		'伊斯兰堡'
		d.popitem()
		('美国', '华盛顿')

14、jieba库

jieba库安装:
	pip install jieba
jieba分词的三种模式:
	精确模式:把文本精确的切分开,不存在冗余单词
	全模式:把文本中所有可能的词语都扫描出来,有冗余
	搜索引擎模式:在精确模式的基础上,对长词再次切分
jieba库常用函数:
	jieba,lcut(s)				精确模式,返回一个列表类型的分词结果
		jieba,lcut('中国是一个伟大的国家')
			[‘中国’, ‘是’, ‘一个’, ‘伟大’,‘的’,‘国家’]
	jieba.lcut(s, cut_all = True)	全模式,返回一个列表类型的分词结果,存在冗余
		jieba.lcut('中国是一个伟大的国家', cut_all = True)
			['中国', '国是', '一个',‘伟大’,‘的’,‘国家’]
	jieba.lcut_for_search(s)		搜索引擎模式,返回一个列表类型的分词结果,存在冗余
		jieba,lcut_for_search(‘中华人民共和国是伟大的’)
			[‘中华’,‘华人’,‘人民’,‘共和’,‘共和国’,‘中华人民共和国’,‘是’,‘伟大’,‘的’]
	jieba,add_word(w)			向分词字典增加新词w
		jieba,add_word(‘蟒蛇语言’)

15、文件

文件的打开模式:
	‘r’	只读模式,默认值,如果文件不存在,返回FileNotFoundError
	‘w’	覆盖写模式,文件不存在则创建,存在则完全覆盖
	‘x’	创建写模式,文件不存在则创建,存在则返回FileExistsError
	‘a’	追加写模式,文件不存在则创建,存在则在文件最后追加内容
	‘b’	二进制文件模式
	‘t’	文本文件模式,默认值
	‘+’	与r/w/x/a一同使用,在原功能的基础上增加同时读写模式  
文件内容的读取
	<f>.read(size=-1)	 读入全部内容,如果给出参数,读入前size长度
		s = f.read(2)		中国
	<f>.readline(size=-1) 读入一行内容,如果给出参数,读入改行前size长度
		s=f.readline()		中国是一个伟大的国家!
	<f>.readlines(hint-1)  读入文件所有行,以每行为元素形成列表,如果给出参数,读入前hint行
		s = f.readlines()	['中国是个伟大的国家!']
数据的文件写入
	<f>.write(s)		向文件写入一个字符串或字节流
	<f>.writelines(lines)	将一个元素全为字符串的列表写入文件 
	<f>.seek(offset)	改变当前文件操作指针的位置,offset含义如下:
						0-文件开头;1-当前位置;2-文件结尾

16、CSV数据存储格式

 国际通用的二维数据存储格式,一般.csv扩展名
 每行一个一维数据,采用逗号分隔,无空行
 Excel软件可以读入输出,一般编辑软件都可以产生

17、wordcloud库

安装:
	pip install wordcloud
wordcloud库常规方法
	w=wordcloud.WordCloud(<参数>)
		width 指定词云对象生成图片的宽度,默认400像素
			w=wordcloud.WordCloud(width=600)
		height 指定词云对象生成图片的高度,默认200像素
			w=wordcloud.WordCloud(width=400)
		min_font_size 指定词云中字体的最大字号,根据高度自动调节
			w=wordcloud.WordCloud(min_font_size=20)
		font_step 指定词云中字体字号的步进间隔,默认为1
			w=wordcloud.WordCloud(font_step=2)
		font_path 指定字体文件的路径,默认None
			w=wordcloud.WordCloud(font_path="msyh.ttc")
		max_words 指定词云显示的最大单词数量,默认200
			w=wordlcloud.WordCloud(max_words=20)
		stop_words 指定词云的排除词列表,即不显示的单词列表
			w=wordcloud.WordClound(stop_words={"Python"})
		mask 指定词云形状,默认为长方形,需要引用imread()函数
			from scipy.misc import imread
			mk=imread("pic.png")
			w=wordcloud.WordCloud(mask=mk)
		background_color 指定词云图片的背景颜色,默认为黑色
			w=wordcloud.WordCloud(background_color="white")
		
	w.generate(txt)			向WordCloud对象w中加载文本txt
		w.generate("Python and WordCloud")
	w.to_file(filename)		将词云输出为图像文件,.png或。jpg格式
		w.to_file("outfile.png")

18、os库

os库提供通用的、基本的操作系统交互功能
import os.path
import os,path as op

os.path.abspath(path) 返回path在当前系统中的绝对路径
	os.path.abspath("file.txt")
		'C:\\Users\\...'.
os.path.normpath(path) 归一化path的表示形式,统一用\\分隔路径
	os.path.normpath("D://PYE//file,txt")
		'D:\\PYE\\file.txt
os.path.relpath(path)   返回当前程序与文件之间的相对路径
	os.path.relpath("C://PYE//file.txt")
		'..\\..\\..\\..\\..\\..\\..\\PYE\\file.txt'
os.path.dirname(path) 返回path中的目录名称
os,path.basename(path) 返回path中最后的文件名称
os.path.join(path, *paths)	 组合path与paths,返回一个路径字符串
os,path.exists(path)	判断path对应文件或目录是否存在,返回True或False
os.path.isflie(path)	判断path所对应的是否为已存在的文件
os.path.isdir(path)	判断path所对应的是否为已存在的目录
os.path.getatime(path) 返回path对应文件或目录上一次的访问时间
os,path.getmtime(path )返回path对应文件或目录的创建时间
os.path.getsize(path)	返回path对应文件的大小,以字节为单位

os.system(commend)	执行程序或命令command
	os.system("C:\\Windows\\System32\\mspaint.exe \ 
			   D:\\PYECourse\\grwordcloud.png")
	os.system("pip install " + "jieba")

os.chdir(path)		修改当前程序操作的路径
	os.chdir("D:")
os,getcwd()		返回程序的当前路径
	os.getcwd()
os.getlogin()		获取当前系统登录用户名称
os.cpu_count()		获取当前系统的CPU数量
os.urandom(n)		获得n个字节长度的随机字符串,通常用于加解密运算
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值