赞
踩
本笔记主要参考北理工嵩天老师的python基础课视频。我将其整理为三大部分,本文为第二部分内容:
(1)python基础语法
(2)python计算生态
(3)相关应用实例
Python计算生态 = 标准库 + 第三方库
标准库:随解释器直接安装到操作系统中的功能模块。
第三方库:需要经过安装才能使用的功能模块。
库Library、包Package、模块Module,统称模块。
库引用与import:
python社区:https://pypi.org/
PyPI:Python Package Inndex。检索利用PyPI,找到合适的第三方库。
主要方法,命令行执行,需联网安装,适用于Windows、Mac、Linux等操作系统。
pip install <第三方库>:安装第三方库
pip install -U<第三方库>:更新第三方库
pip unstall <第三方库>:卸载指定第三方库
pip downlooad<第三方库>:下载不安装第三方库
pip show<第三方库>:列出指定第三方库的详细信息
pip search<关键字>:根据关键字在名称和介绍中搜索第三方库
pip list:列出已经安装好的库
anaconda:适合数据计算领域开发。
某些第三方库pip下载后下载后需要编译再安装,若操作系统没有编译环境则安装失败。可以通过http://www.lfd.uci.edu/~gohlke/pythonlibs/直接下载编译后的版本。
turtle.setup(width, height, startx, starty)
setup()函数设置窗体大小及位置,不是必须的。后两个参数可选。
举例:
绝对坐标:
举例:
海龟坐标:
turtle.fd(d)或turtle.forward(d):直线前行距离d,可以是负数。
turtle.circle(r, extent=None):根据半径r绘制excent角度的弧形。圆心在海龟左侧r距离的位置;extent绘制角度默认是360度。
举例:
绝对角度:
turtle.seth(angle)或turtle.setheading(angle):改变绝对角度。逆时针为正。
海龟角度:
turtle.left(angle),turtle.right(angle):改变海龟视角。
举例:
RGB色彩体系:取值范围0-255整数或者0-1小数。
常用RGB色彩:
可以用turtle.colormode(mode)改变整数(255)表示颜色或者小数(1.0)表示颜色。默认是小数值。
turtle.penup()或turtle.pu():画笔抬起。
turtle.pendown()或turtle.pd():画笔落下。
turtle.pensize(width)或turtle.width(width):画笔宽度。
turtle.pencolor(color):画笔颜色。color为颜色字符串(如“purple”)或r,g,b值(小数值或元组值)。
time库:Python中处理时间的标准库。提供获取系统时间并格式化输出功能。
使用方法:import time
time.()
time()、ctime()、gmtime()
strftime()、strptime()
sleep()、perf_counter()
random库是标准库:import random。(random库包括两类函数,常用共8个,掌握3个-4个即可。)
seed():初始化给定的随机数种子,默认为当前系统时间,使用种子可以再现随机过程。
随机数种子通过梅森旋转算法产生随机序列,序列中每一个数都是随机数。
random():生成一个[0.0, 1.0)之间的随机小数。
法一:给定随机种子
法二:不给定随机种子
默认种子是当前调用第一次random函数所对应的系统时间。
为什么使用种子?
使用种子再次运行程序产生的随机数也是相同的,方便复现。
PyInstaller可以将.py源代码装换成无需源代码的可执行文件。
使用:
_pycache_和build可以删除掉。
jieba是中文分词第三方库。jieba库利用中文词库确定汉字之间的关联概率来确定分词,用户也可以添加自定义词组。
精确模式:把文本精确切分开,无冗余。
全模式:把文本中所有可能的词语扫描出来,有冗余。
搜索引擎模式:在精确模式基础上,对长词语再次切分。
wordcloud库是词云展示第三方库。wordcloud库把词云当作一个WordCloud对象。
wordcloud库常规方法:w = wordcloud.WordCloud()
w.generate(txt):向WordCloud对象w中加载文本txt。
w.to_file(filename):将词云输出为图像文件,filename后缀可以用.png或.jpg格式。
wordcloud库配置对象参数:w = wordcloud.WordCloud(<参数>)
width:指定词云对象生成图片的宽度,默认400像素。例w = wordcloud.WordCloud(width = 600)。
height:指定词云对象生成图片的高度,默认200像素。例w = wordcloud.WordCloud(height = 400)。
min_font_size:指定词云中字体最小字号,默认4号。
max_font_size:指定词云中字体最大字号,根据高度自动调节。
font_step:指定词云中字体字号的步进间隔,默认为1。
font_path:指定字体文件路径,默认None。
max_words:指定词云显示最大单词数,默认200。
stop_words:指定词云的排除词列表,即不显示的单词列表。例w = wordcloud.WordCloud(stop_words = {“python”})。
mask:指定词云形状,默认为长方形,需要引用imread()函数。
background_color:指定词云图片的背景颜色,默认为黑色。例w = wordcloud.WordCloud(background_color = “white”)。
os库是python标准库。提供了通用的、基本的操作系统交互功能,如常用路径操作、进程管理、环境参数等几类。
os.path子库,处理文件路径及信息。import os.path as op。
路径操作:
os.path.abspath(path):返回path在当前系统中的绝对路径。
os.path.normpath(path):归一化path的表示形式,统一用\分隔路径。
os.path.relpath(path):返回当前程序与文件之间的相对路径(relative path)。
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.isfile(path):判断path对应文件是否为已存在文件,返回True或者False。
os.path.isdir(path):判断path所对应是否为已存在的目录,返回True或者False。
os.path.getatime(path):返回path对应文件或目录的上一次访问时间。
os.path.getmtime(path):返回path对应文件目录的最近一次修改时间。
os.path.getctime(path):返回path对应文件或目录的创建时间。
os.path.getsize(path):返回path所对应文件大小,以字节为单位。
使用python调用其他程序,启动系统中其他程序。
os.system(command):执行程序或命令command;在Windows系统中返回值为cmd的调用返回信息。
获得系统中软件信息等环境参数。
os.chdir(path):修改当前程序的操作路径。
os.getcwd():返回程序当前路径。
os.getloginin():获得当前系统登录用户名。
os.cpu_count():获得当前系统的cpu数量。
os.urandom(n):获得n个字节长度的随机字符串,通常用于加解密运算。
numpy:C语言实现,速度快。支撑pandas等,提供直接的矩阵运算、广播函数、线性代数等功能。
pandas:基于numpy开发,数据分析高层次应用库。理解数据类型与索引的关系,操作索引即操作数据。
Series = 索引 + 一维数据
DataFrame = 行列索引 + 二维数据
SciPy:基于numpy开发,数学、科学和工程计算功能库。类似于Matlab,可用于如傅里叶变换、信号处理等应用。
Matplotlib:基于numpy开发,高质量的二维数据可视化功能库。通过matplotlib.pyplot子库调用各可视化效果。
Seaborn:基于Matplotlib开发,统计类数据可视化功能库。主要展示数据间分布、分类和线性关系等内容。支持numpy和pandas。
Mayavi:三维科学数据可视化功能库。支持numpy、TVTK、Envisage等第三方库。
PyPDF2:用来处理pdf文件的工具集。支持获取信息、分隔/整合文件、加密解密等。完全python语言实现。
NLTK:自然语言文本处理第三方库。最优秀的python自然语言处理库。支持语言文本分类、标记、语法句法、语义分析等。
Scikit-learn:机器学习方法工具集。
TensorFlow:谷歌的开源机器学习框架。将数据流图作为基础,图节点代表运算,边代表张量。
MXNet:基于神经网络的深度学习计算框架。可用于自动驾驶、机器翻译、语音识别等众多领域。
Requests:最主要的页面级网络爬虫功能库。提供了类HTTP协议网络爬虫功能,支持连接池、SSL、Cookies、HTTP(S)代理等。
Scrapy:网络爬虫框架。支持批量和定时网页爬取、提取数据处理流程等。
pyspider:网络爬虫类第三方库。提供了完整的网页爬取系统构建功能,支持数据库后端、消息队列、优先级、分布式架构等。
Beautiful Soup:(又名beautifulsoup4或bs4)HTML和XML的解析库。常与网络爬虫库搭配使用(如Scrapy、requests等)。
Re:正则表达式解析和处理功能的标准库。可用于各类场景,包括定点的web信息提取。
Python-Goose:web信息提取库。提供了对web页面中文章信息/视频等元数据的提取功能。
Django:web应用框架,略复杂。MTV模式:模型(model)、模板(template)、视图(views)。
Pyramid:web应用框架,规模适中,适合快速构建并适度扩展类应用。
Flask:web应用开发微框架。简单、规模小、快速。Django > Pyramid > Flask好。
WeRoBot:微信公众号开发框架。提供了解析微信服务器消息及反馈消息的功能,建立微信机器人的重要技术手段。
aip:百度AI开放平台接口。可用于语音、人脸、OCR、NLP、知识图谱、图像搜索等领域。
MyQR:二维码生成第三方库。
PyQt5:GUI开发第三方库。提供了创建Qt5程序的python API接口,Qt是非常成熟的跨平台桌面应用开发系统,完备GUI。
wxPython:基于numpy开发,跨平台GUI开发框架。理解数据类型与索引的关系,操作索引即操作数据。
PyGObject:使用GTK+开发GUI的功能库。提供了整合GTK+、WebKitGTK+等库的功能。GTK+:跨平台的一种用户图形界面GUI框架。
PyGame:简单的游戏开发功能库。提供了基于SDL的简单游戏开发功能及实现引擎,理解游戏对外部输入的响应机制及角色构建和交互机制。
Panda3D:开源、跨平台的3D渲染和游戏开发库。提供python和C++两种接口。由迪士尼和卡基梅隆大学共同开发。
cocos2d:构建2D游戏和图形界面交互式应用的框架。提供了基于OpenGL的游戏开发图形渲染功能,支持GPU加速,采用树形结构分层管理游戏对象类型。
VR Zero:针对树莓派的VR开发库,支持设备小型化,配置简单化。
pyovr:Oculus Rift的python开发接口。
Vizard:基于python的通用VR开发引擎。
Quads:迭代的艺术。对图片进行四分迭代,形成像素风,可以生成动图或静图的图像。
ascii_art:ASCII艺术库。将普通图片转为ASCII艺术风格,输出可以是纯文本或彩色文本。可采用图片格式输出。
turtle:海龟绘图体系。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。