1 Star 0 Fork 0

chuan / py程序语言设计

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
笔记.txt 15.23 KB
一键复制 编辑 原始数据 按行查看 历史
本内容都来自 mooc python语言程序设计
二进制文件: 直接由二进制形式储存,没有特定的编码
使用from和import保留字共同完成引用
from 库名 import 函数名,变量名
模块内(函数,变量的)名称导入到当前操作模块,注意库名本身并未导入
from 库名 import 函数名
from 库名 import* (传入所有函数名)
使用这种引用方式后, 就不需要再用 库名.函数名 完成使用了
import 库名 as 库别名 (将库名形成一个别名)
CSV 用逗号来分割值的一种方式
国际通用的一二维数据存储格式,一般以.csv作为扩展名
规范:
如果某个元素缺失,逗号任要为其保留
二维数据的表头可以作为数据存储,也可以另行存储
逗号为英文半角符号,逗号于数据之间无额外空格
- for 变量 in 文件句柄: 默认每次从文件中读取一行字符
通过字符串调用函数
eval("函数名")()
eval() 功能强大但是比较危险(eval is evil),不建议使用
locals()[]()
locals() 函数会以字典类型返回当前位置的全部局部变量。
以字典key值调出值,作为函数名执行(后面加())
globals()[]()
globals() 函数会以字典类型返回当前位置的全部全局变量。
-------------------------------------------------------------------------------------
python 第三方库的安装方法:
pip 命令
pip install <> 安装
pip download <> 下载但不安装
pip install -U <> 更新
pip uninsatll <> 卸载
pip show <> 列出第三方库的详细信息
pip search <关键字> 按照关键字搜索第三方库
pip list 列出已安装的第三方库
集成安装
Anaconda (集成开发工具:包含多个主流工具,适合计算领域开发)
文件安装
某些第三方库,需要编译在安装.但本机没有相应编译环境
下载whi 文件安装?
-------------------------------------------------------------------------------------
有空早做个文本,文本词频统计
在找个本小说,做 人名统计
-------------------------------------------------------------------------------------
datetime 库
Python处理日期和时间的标准库。
datetime.datetime.now() 获取当前时间 xxxx-xx-xx xx:xx:xx.x.., 返回datetime类对象
datetime.date.today() 获取当前日期, 返回date 类对象
对象.year年份、month月份及day日期三部分
对象.hour小时、minute分钟、second秒、microsecond毫秒和tzinfo(时区) 获取
datetime是模块,datetime模块还包含一个datetime类,
from datetime import datetime 此时导入的是 datetime类
datetime(2015, 4, 19, 12, 20) 指定日期和时间创建类对象
t = (dict..类对象).timestamp() 将时间转换为时间戳 形式(1970-对象时间秒),返回浮点类型
datetime(类名).fromtimestamp(t) 返回值为timesstamp转换后的时间(类对象)(本地时间)
datetime.utcfromtimestamp(t) UTC时间(时区)
datetime.strptime('2015-6-1 18:19:59.123', '%Y-%m-%d %H:%M:%S.%f')
将字符串转换为时间,需要格式化字符串
(类对象).strftime('%a, %b %d %H:%M')) 将时间转换为字符串,需要格式化字符
from datetime import timedelta 后续导入 timedelta 类 进行时间前后计算
now = datetime.now() 获得类对象
now +(-) timedelta(days=12, hours=10) 时间往进十二天,10个小时(但改变小时也会更改其他值,如+25时),返回datetime类对象
两个datetime类对象直接运算,返回 timedelta类型对象
timedelta.(属性等于datetime对象属性+s) (只能接受时间参数,外加一个days ?w)
dateutil库中 中的 parser 模块可以帮我们将几乎任何形式的字符串日期数据解析为datetime 对象
from dateutil.parser import parse
parse('January 31, 2010')
#> datetime.datetime(2010, 1, 31, 0, 0)
PyInstaller 库
将.py 源代码转换成无需任何源代码的可执行文件(windows, Linux, macos)
简单命令:cmd 命令行
pyinstaller -F <文件名.py> # 生成可执行文件
pyinstaller -h # 查看帮助
pyinstaller --clean # 清理打包过程中的临时文件
pyinstaller -i <图片文件名>.ico -F <>.py
jieba 库
优秀的中文分词第三方库
jieba 分词的三种模式
精确模式: 把文本精确的分开,不存在冗余
jieba.lcut(s)
全模式: 把文本中可能出现的词语都扫描出来,有冗余
jieba.lcut(s, cut_all = True)
搜索引擎模式:在精确模式的基础上,对长词再次切分
jieba.lcut_for_search(s)
增加词语到词库
jieba.add_word(w)
turtle 库
入门级的图形绘制函数库
turtle绘图体系的python实现,主要用于程序设计入门
运行的数字单位为像素
https://www.cnblogs.com/nowgood/p/turtle.html
窗口的左上角是turtle的坐标原点
turtle.title(str)
窗口名
turtle.setup(width, height, starts, starty)
设置窗口宽度 高度
后两个参数表示窗口左上角相对于屏幕左上角位置的坐标,可选
turtle.colormode(mode)
设置颜色模式(RGB小数值,或整数值),默认为RGB小数值
它仅需要一个参数作为“cmode”值1.0或255之一。
turtle.pencolor(color)
修改画笔颜色(通过字符串或者rag值)
turtle.width(width)
修改画笔宽度
turtle.speed(speed)
设置画笔的绘制速度(1-10)
turtle.done()
加上此函数在绘图代码最后, 绘图窗口不会自动关闭
turtle.reset()
清屏,画笔回到初始位置
turtle.clear()
清屏,画笔位置不变
turtle.begin_fill()
填充所画图像
turtle.end_fill()
相对于绝对坐标来讲,画笔的坐标为屏幕的正中心为(0,0)
右边为x轴,上方为y轴。构成了绝对坐标系
利用坐标,改变画笔的位置:
turtle.goto(x,y)
让任何位置的画笔,到达到指定位置(绝对坐标)
turtle.position()
返回坐标:
turtle.bk(d)
向画笔的相反方向运行
turtle.fd(d)
向画笔的前方运行,以绝对角度改变画笔的行进角度
turtle.circle(r,angle)
根据半径r 绘制角度为 exten的弧形
r 的位置默认在 画笔r距离的位置
turtle.penup() (.pu())
turtle.pendown() (.pd())
抬起(落下)画笔,抬起画笔时,运行轨迹不在画布上形成图案
turtle.seth(angle)
仅进改变行进的(绝对角度)方向
turtle.left(angle)
turtle.right(angle)
向左向右改变画笔的方向角度
画笔的绝对对角度:
x 轴表示 0\360,y轴的正方向表示 90\-270
wordcloud 库
词云展示第三方库
wordcloud.WordCloud(width = , height = , min_font_size = 4, max_font_size, font_step = 1, font_path = None,
max_words = 20, stop_words = None(list), mask = ?, background_color = 'black')
默认宽度高度为400*200 像素
min, 指定词云中的最小字号
max,指定词云中的最大字号,根据亮度自动调节
step, 字体字号的步进间隔
path, 指定字体文件的路径
max_words 指定词云显示的最大单词数量,
stop, 指定词云的单词排除列表
mask, 指定词云形状,默认为长方形, 需要导入 imread() 函数:
form scipy.misc import imread
mk = imread("pic.png")
w = wordcloud.C...(mask = mk)
color 指定词云背景颜色
通过 w = wordcloud.WordCloud(), 以 WordCloud对象为基础配置参数,加载文本,输出文件
w.generate(txt)
向WordCloud对象中加载文本(以空格分割的字符串)
w.to_file( file_name(注意加上图片名后缀.png .jpg) )
将词云输出为图片文件
os 库
提供通用的,基本的操作系统交互功能
路径管理:os.path 子库,处理文件路径及信息
av93325106\8文件.py
进程管理:os 库,启动系统中的其他程序
os.system(command)
执行程序命令command, windows中:返回值为cmd 调用的返回信息
os.system(r"c:\\windows\\system32\\mspaint.exe C:\Users\chuan\Pictures\iPad备份\img_0653.jpg")
例: 调用画图打开文件(文件命中不要有空格)(此参数在cmd中可以直接执行)
环境参数:或取系统软硬件信息等环境参数
os.chdir(path) 修改程序当前操作路径
os.getcwd() 返回程序当前路径
os.getlogin() 获取当前登录用户名
os.cpu_count() 获取当前cpu数量
os.urandom(n) 获取n个直接长度的随机字符串(因有不可见字符,所以返回的是 16进制)
...
-------------------------------------------------------------------------------------
更多库(……)介绍
python 从数据处理到人工智能(介绍)
随笔-从数据处理到人工智能.pdf
1,数据分析
NumPy
c 语言实现,运行速度快
数据分析及科学计算的基础库,支撑pandas 等
提供矩阵运算,广播函数,线性代数等功能
Pandas
python 最主要的数据分析功能库,基于numpy 开发
提供了简单易用的数据结构和数据分析工具
理解数据类型与索引的关系,操作索引及操作数据
SciPy
python最主要的科学计算功能库,基于numpy 实现
提供了一批数学算法及工程数据运算功能
类似matlab,可用于傅里叶变换,幸好处理等应用
2,数据可视化
Matplotlib
二维数据可视化功能库
提供了超过100 种数据可视化展示效果
一般通过matplotlib.pyplot 子库调用各种可视化效果
Seaborn
统计数据可视化功能库
提供了一批高层次的统计类数据化展示效果
主要展示数据间分布,分类和线性关系等内容
基于Mathplotlib开发,支持Numpy和Pandas
相较于Mathplotlib 更有展示型,调用更加简单
Mayavi
三维科学数据可视化功能库
三维数据最主要的第三方库
3,文本处理
PyPDF2
提供处理pdf文件的计算功能
支持,获取信息,分割/整合文件,加解密等功能
NLTk
自然语言文本处理库
支持语言文本分类,标记,语法处理,语义分析等
python-docx
创建或者更新.doc .docx 等文件的计算功能
增加并配置段落,图片,表格,文字等
4,机器学习
Scikit-learn
提供一批统一化的机器学习方法功能接口
TensorFlow
谷歌公司推动的开源机器学习框架
Aiphago背后的机器学习框架
5,深度学习:
MXNet
提供可扩展的神经网络及深度学习计算功能
可用于自动驾驶,机器翻译,语音识别等众多领域
python 从wed解析到网络空间
网络爬虫
Requests
最友好的网络爬虫功能库
Scrapy
提供了构建网络爬虫系统的框架功能,功能半成品
pyspider
提供了完整的网页爬取系统构建功能
wed 信息提取
Beautiful Soup
提供了解析HTML和XML等Wed信息的功能
常与网络爬虫库搭配使用,如Scrapy,Requests等
Re
提供了定义和解析正则表达式的一批通用功能
用于各种场景,包括Wed信息提取
Python的主要标准库之一,无需安装
Python-Goose
提供了针对Wed页面中的文章信息/视频等元数据的提取功能
针对特定类型的网页,应用覆盖面较广
网站开发
Django
提供了构建Wed系统基本应用框架
MTV模式:模型。模板,视图
略微复杂(相对于其他框架),适合较为专业的网站构建
Pyramid
提供了简单方便的构架wed系统的应用框架
不大不小,适合快速构建并适度扩展类应用
对于中规模的网站是很好的选择
Flask
提供了最简单构建wed系统的应用框架
特点是:简单,规模小,快速
如果是只有几个页面的小网站,那它是一个非常好的选择
Django>Pyramid>Flask
网络应用
WeRoBot
提供了解析微信服务器及反馈消息的功能
建立微信机器的重要技术手段
aip
提供了访问百度Ai服务的功能接口
语音,人脸,ocr,nlp,知识图谱,图像搜索的领域
MyQR
提供二维码生成的系列功能
提供基本二维码,艺术二维码和动态二维码
python 从人机交互到艺术设计
图形用户界面
pyQt5
提供创建Qt5程序的API 接口
推荐使用的Python GUI 开发的第三方库
拥有完备跨平台系统,有成熟的工业链条
wxPython
提供了专用于python的跨平台GUI开发框架
PyGobject
提供整合了GTK+,WebKitGTK+等库的功能
-GTK+:跨平台的一种用户图形界面的GUI框架
游戏开发
PyGame
提供了基于SDL的简单游戏开发功能及实现引擎
python游戏入门最主要的第三方库
Panda3D
一个3D游戏引擎,提供Python和C++两种接口(推Python
由迪士尼和卡内基梅隆大学共同开发
cocos2d
构建2D游戏和图形用户界面交互式应用的框架
提供了基于OpenDL的游戏开发图形渲染功能
适合专业级的2D游戏开发
虚拟显示
VR Zero
针对在树莓派上开发VR应用的库,支持设备小型化,配置简单化
适合初学者实践虚拟现实的开发和应用
pyovr
针对Oculus VR设备的开发库
基于成熟的vr设备,提供全套文档,工业级应用设备
Vizard
专业的企业级虚拟显示开发引擎
支持多种主流的VR硬件设备,具有一定的通用性
图形艺术
Quads
对图片进行四分迭代,形成像素风
可生成动图或是静态图片
简单易用?
ascii_art
图片转换成ASCII艺术风格
输出可以是纯文本或彩色文本,或者图片格式
turtle
可以加上一些随机函数绘制一定的艺术风格(Random Art)
Python
1
https://gitee.com/chuancode/py-programming-language-design.git
git@gitee.com:chuancode/py-programming-language-design.git
chuancode
py-programming-language-design
py程序语言设计
master

搜索帮助