【笔记】《python语言程序设计》——python计算生态概览
一、前言
学习就是一个不断的自下而上,自上而下的过程。
前段时间,学着用python实现网站的数据爬取,隐约get到python的一些语法和用法,感觉就是语法不难,关键在于解决问题的思维。
这是需求驱动后的学习。接下来,就需要对python进行系统地了解。
很早之前搜知乎的时候,就搜到MOOC上的一门《python语言程序设计》课程,讲得很好,而且,我还下载了课件,溜了一遍,感觉就挺有趣的。
趁着有了实战经验,就把这门入门课刷了一遍。果然是门好课!很适合小白入门,并系统学习,整个教学过程循序渐进,深入浅出,提纲挈领,很有意思!
课程是北京理工大学嵩天老师的《python语言程序设计》课程,现在已经开了11次课了。课程每个小视频短则几分钟,最长也不超过20分钟,不容易劝退。每章讲解有复习回顾及小结,在平台python123上有每章的练习和测试,直接反馈结果,激发继续学下去的兴趣。
个人感觉,老师说话速度慢了些,调成了2倍速播放,然后,花了大约3天的时间,把所有的视频,课件,练习和测试都刷了一遍,感觉对python的了解更系统了!
趁热打铁,把每章的知识点和练习、测试再进行整理回顾一下。
以下内容均来自课程:《python语言程序设计》 及平台python123,感兴趣的看课程视频,亲自练习,效果更好~
二、知识点
1.从数据处理到人工智能
-
Python库之数据可视化
库 描述 Matplotlib 高质量的二维数据可视化功能库 Seaborn 统计类数据可视化功能库 Mayavi 三维科学数据可视化功能库 -
Python库之文本处理
库 描述 PyPDF2 用来处理pdf文件的工具集;支持获取信息、分隔/整合文件、加密解密等; NLTK 自然语言文本处理第三方库,支持语言文本分类、标记、语法句法、语义分析等 Python-docx 创建或更新word文件的第三方库,提供创建或更新.doc或.docx文件;增加并配置段落、图片、表格、文字等 -
Python库之机器学习
库 描述 Scikit-learn 机器学习方法工具集,提供聚类、分类、回归、强化学习等计算功能 TensorFlow AlphaGo背后的机器学习计算框架 MXNet 基于神经网络的深度学习计算框架;可用于自动驾驶、机器翻译、语音识别等众多领域
2. 实例15:霍兰德人格分析雷达图
霍兰德人格分析雷达图.png3.从Web解析到网络空间
-
Python库之网络爬虫
库 描述 Requests 最友好的网络爬虫功能库,最主要的页面级网络爬虫功能库 Scrapy 最主要且最专业的的网络爬虫框架;提供构建网络爬虫系统的框架功能,功能半成品;支持批量和定时网页爬取、提供数据处理流程等; pyspider 强大的web页面爬取系统,提供完整的网页爬取系统构建功能;支持数据框后端、消息队列、优先级、分布式架构等; -
Python库之Web信息提取
库 描述 Beautiful Soup HTML和XML的解析库;又名beautifsoup4或bs4,常与网络爬虫库搭配使用; Re 正则表达式解析和处理功能库,Python最主要的标准库之一;可用于各种场景,包括定点的Web信息提取; Python-Goose 提取文章类型Web页面的功能库,最主要的web信息提取库;提供了对web页面中文章信息/视频等元数据的提取功能; -
Python库之Web网站开发
库 描述 Django 最流行的web应用框架;MTV模式;Python最重要的web应用框架,略微复杂的应用框架 Pyramid 规模适中的web应用框架;Python产品级web应用框架,起步简单可扩展性好; Flask web应用开发微框架;提供了最简单构建web系统的应用框架;简单、规模小、快速; -
Python库之网络应用开发
库 描述 WeRoBot 微信公众号开发框架;提供了解析微信服务器消息及反馈消息的功能;建立微信机器人的重要技术手段; api 百度AI开放平台接口;提供了访问百度AI服务的Python功能接口;语音、人脸、OCR、NLP、知识图片、图像搜索等领域;python百度AI应用的最主要方式; MyQR 二维码生成第三方库;提供了生成二维码的系列功能;基本二维码、艺术二维码和动态二维码;
4.从人机交互到艺术设计
-
Python库之图形用户界面
库 描述 PyQt5 Qt开发框架的Python接口;提供了创建Qt5程序的Python API接口;Qt是非常成熟的跨平台桌面应用开发系统,完备GUI;推荐的Python GUI开发第三方库; wxPython 跨平台GUI开发框架;提供了专用于Python的跨平台GUI开发框架;理解数据类型与索引的类型,操作索引即操作数据;Python最主要的数据分析功能库,基于Numpy开发; PyGObject 使用GTK+开发GUI的功能库;提供了整合GTK+,WebKitGTK+等库的功能;GTK+:跨平台的一种用户图形界面GUI框架; -
Python库之游戏开发
库 描述 PyGame 简单的游戏开发功能库;提供了基于SDL的简单游戏开发功能及实现引擎;理解游戏对外部输入的响应机制及角色构建和交互机制;Python游戏入门最主要的第三方库 Panda3D 开源、跨平台的3D渲染和游戏开发库;一个3D游戏引擎,提供Python和C++两种接口;支持很多先进特性:法线贴图、光泽贴图、卡通渲染等;由迪士尼和卡尼基梅隆大学共同开发; cocos2d 构建2D游戏和图形界面交互式应用的框架;提供了基于OpenGL的游戏开发图形渲染功能;支持GPU加速,采用树形结构分层管理游戏对象类型;适用于2D专业级游戏开发; -
Python库之虚拟现实
库 描述 VR Zero 在树莓派上开发VR应用的Python库;提供大量与VR开发相关的功能;针对树莓派的VR开发库,支持设备小型化,配置简单化;非常适合初学者实践VR开发及应用 pyovr Oculus Rift的python开发接口;基于成熟的VR设备,提供全套文档,工业级应用设备;Python+虚拟现实领域探索的一种思路; Vizard 基于Python的通用VR开发引擎;专业的企业级VR开发引擎;提供详细的官方文档;支持多种主流的VR硬件设备,具有一定通用性; -
Python库之图形艺术
库 描述 Quads 迭代艺术;对图片进行四分迭代,形成像素风;可以生成动图或静图图像;简单易用,具有很高展示度; ascii_art ASCII艺术库;将普通图片转为ASCII艺术风格;输出可以使纯文本或彩色文本;可采用图片格式输出; turtle 海龟绘图体系,Python自带标准库
5.实例16:玫瑰花绘制
玫瑰花绘制.png三、测试
1.选择题
-
以下选项不是Python数据可视化方向第三方库的是:
A Matplotlib B Mayavi C Pyramid D Seaborn
Pyramid是Web开发框架库。
-
以下选项不是Python网站开发框架方向第三方库的是:
A Django B Flask C Pyramid D redis-py
redis-py是redis数据的Python访问接口。
-
以下选项不是Python数据分析方向第三方库是:
A Scrapy B Numpy C SciPy D Pandas
Scrapy是网络爬虫库
-
以下选项不是Python Web信息提取方向第三方库的是:
A Re B wxPython C Beautiful Soup D Python-Goose
wxPython是GUI第三方库。
-
以下选项不是Python文本处理方向第三方库的是:
A python-docx B pyovr C PyPDF2 D NLTK
pyovr是增强现实开发库。
-
以下选项不是Python网络爬虫方向第三方库的是:
A Python-Goose B pyspider C Scrapy D Requests
Python-Goose是Web提取第三方库。
-
以下选项不是Python图形用户界面方向第三方库的是:
A PyQt5 B Vizard C wxPython D PyGObject
Vizard是虚拟现实第三方库。
-
以下选项不是Python游戏开发方向第三方库的是:
A aip B Panda3D C PyGame D cocos2d
aip是baidu的人工智能功能Python访问接口。
-
以下选项不是Python人工智能方向第三方库的是:
A Scikit-Learn B Seaborn C MXNet D TensorFlow
Seaborn是数据可视化第三方库。
- 以下选项不是Python网络应用开发方向第三方库的是:
A WeRobot B numpy C aip D MyQR
numpy是多维度数据处理第三方库。
2.程序设计题
- 系统基本信息获取
描述:获取系统的递归深度、当前执行文件路径、系统最大UNICODE编码值等3个信息,并打印输出。
输出格式如下:
RECLIMIT:<深度>, EXEPATH:<文件路径>, UNICODE:<最大编码值>
提示:请在sys标准库中寻找上述功能。
import sys
print("RECLIMIT:{}, EXEPATH:{}, UNICODE:{}".format(sys.getrecursionlimit(), sys.executable, sys.maxunicode))
- 二维数据表格输出
tab_format.png描述:tabulate能够对二维数据进行表格输出,是Python优秀的第三方计算生态。
参考编程模板中给定的数据和代码,编写程序,能够输出如下风格效果的表格数据。
from tabulate import tabulate
data = [ ["北京理工大学", "985", 2000], \
["清华大学", "985", 3000], \
["大连理工大学", "985", 4000], \
["深圳大学", "211", 2000], \
["沈阳大学", "省本", 2000], \
]
print(tabulate(data, tablefmt="grid"))
四、期末测验: 课程水平综合测验
1.无空隙回声输出
描述:获得用户输入,去掉其中全部空格,将其他字符按收入顺序打印输出。
txt = input()
print(txt.replace(" ", ""))
2.文件关键行数
描述:关键行指一个文件中包含的不重复行。关键行数指一个文件中包含的不重复行的数量。
统计附件文件中与关键行的数量。
f = open("latex.log")
ls = f.readlines()
s = set(ls)
print("共{}关键行".format(len(s)))
3.二维数据表格输出
同上
4.系统基本信息获取
同上
【笔记】《python语言程序设计》—Python基本语法元素