【笔记】《python语言程序设计》——python计算生态概览

一、前言

学习就是一个不断的自下而上,自上而下的过程。

前段时间,学着用python实现网站的数据爬取,隐约get到python的一些语法和用法,感觉就是语法不难,关键在于解决问题的思维。

这是需求驱动后的学习。接下来,就需要对python进行系统地了解。

很早之前搜知乎的时候,就搜到MOOC上的一门《python语言程序设计》课程,讲得很好,而且,我还下载了课件,溜了一遍,感觉就挺有趣的。

趁着有了实战经验,就把这门入门课刷了一遍。果然是门好课!很适合小白入门,并系统学习,整个教学过程循序渐进,深入浅出,提纲挈领,很有意思!

课程是北京理工大学嵩天老师的《python语言程序设计》课程,现在已经开了11次课了。课程每个小视频短则几分钟,最长也不超过20分钟,不容易劝退。每章讲解有复习回顾及小结,在平台python123上有每章的练习和测试,直接反馈结果,激发继续学下去的兴趣。

个人感觉,老师说话速度慢了些,调成了2倍速播放,然后,花了大约3天的时间,把所有的视频,课件,练习和测试都刷了一遍,感觉对python的了解更系统了!

趁热打铁,把每章的知识点和练习、测试再进行整理回顾一下。

以下内容均来自课程:《python语言程序设计》 及平台python123,感兴趣的看课程视频,亲自练习,效果更好~

二、知识点

1.从数据处理到人工智能

  1. Python库之数据分析

    描述
    Numpy 表达N维数组的最基础库
    Pandas Python数据分析高层次应用库
    SciPy 数学、科学和工程计算功能库
  1. Python库之数据可视化

    描述
    Matplotlib 高质量的二维数据可视化功能库
    Seaborn 统计类数据可视化功能库
    Mayavi 三维科学数据可视化功能库
  2. Python库之文本处理

    描述
    PyPDF2 用来处理pdf文件的工具集;支持获取信息、分隔/整合文件、加密解密等;
    NLTK 自然语言文本处理第三方库,支持语言文本分类、标记、语法句法、语义分析等
    Python-docx 创建或更新word文件的第三方库,提供创建或更新.doc或.docx文件;增加并配置段落、图片、表格、文字等
  3. Python库之机器学习

    描述
    Scikit-learn 机器学习方法工具集,提供聚类、分类、回归、强化学习等计算功能
    TensorFlow AlphaGo背后的机器学习计算框架
    MXNet 基于神经网络的深度学习计算框架;可用于自动驾驶、机器翻译、语音识别等众多领域

2. 实例15:霍兰德人格分析雷达图

【笔记】《python语言程序设计》——python计算生态概览_第1张图片
霍兰德人格分析雷达图.png

3.从Web解析到网络空间

  1. Python库之网络爬虫

    描述
    Requests 最友好的网络爬虫功能库,最主要的页面级网络爬虫功能库
    Scrapy 最主要且最专业的的网络爬虫框架;提供构建网络爬虫系统的框架功能,功能半成品;支持批量和定时网页爬取、提供数据处理流程等;
    pyspider 强大的web页面爬取系统,提供完整的网页爬取系统构建功能;支持数据框后端、消息队列、优先级、分布式架构等;
  2. Python库之Web信息提取

    描述
    Beautiful Soup HTML和XML的解析库;又名beautifsoup4或bs4,常与网络爬虫库搭配使用;
    Re 正则表达式解析和处理功能库,Python最主要的标准库之一;可用于各种场景,包括定点的Web信息提取;
    Python-Goose 提取文章类型Web页面的功能库,最主要的web信息提取库;提供了对web页面中文章信息/视频等元数据的提取功能;
  3. Python库之Web网站开发

    描述
    Django 最流行的web应用框架;MTV模式;Python最重要的web应用框架,略微复杂的应用框架
    Pyramid 规模适中的web应用框架;Python产品级web应用框架,起步简单可扩展性好;
    Flask web应用开发微框架;提供了最简单构建web系统的应用框架;简单、规模小、快速;
  4. Python库之网络应用开发

    描述
    WeRoBot 微信公众号开发框架;提供了解析微信服务器消息及反馈消息的功能;建立微信机器人的重要技术手段;
    api 百度AI开放平台接口;提供了访问百度AI服务的Python功能接口;语音、人脸、OCR、NLP、知识图片、图像搜索等领域;python百度AI应用的最主要方式;
    MyQR 二维码生成第三方库;提供了生成二维码的系列功能;基本二维码、艺术二维码和动态二维码;

4.从人机交互到艺术设计

  1. Python库之图形用户界面

    描述
    PyQt5 Qt开发框架的Python接口;提供了创建Qt5程序的Python API接口;Qt是非常成熟的跨平台桌面应用开发系统,完备GUI;推荐的Python GUI开发第三方库;
    wxPython 跨平台GUI开发框架;提供了专用于Python的跨平台GUI开发框架;理解数据类型与索引的类型,操作索引即操作数据;Python最主要的数据分析功能库,基于Numpy开发;
    PyGObject 使用GTK+开发GUI的功能库;提供了整合GTK+,WebKitGTK+等库的功能;GTK+:跨平台的一种用户图形界面GUI框架;
  2. Python库之游戏开发

    描述
    PyGame 简单的游戏开发功能库;提供了基于SDL的简单游戏开发功能及实现引擎;理解游戏对外部输入的响应机制及角色构建和交互机制;Python游戏入门最主要的第三方库
    Panda3D 开源、跨平台的3D渲染和游戏开发库;一个3D游戏引擎,提供Python和C++两种接口;支持很多先进特性:法线贴图、光泽贴图、卡通渲染等;由迪士尼和卡尼基梅隆大学共同开发;
    cocos2d 构建2D游戏和图形界面交互式应用的框架;提供了基于OpenGL的游戏开发图形渲染功能;支持GPU加速,采用树形结构分层管理游戏对象类型;适用于2D专业级游戏开发;
  3. Python库之虚拟现实

    描述
    VR Zero 在树莓派上开发VR应用的Python库;提供大量与VR开发相关的功能;针对树莓派的VR开发库,支持设备小型化,配置简单化;非常适合初学者实践VR开发及应用
    pyovr Oculus Rift的python开发接口;基于成熟的VR设备,提供全套文档,工业级应用设备;Python+虚拟现实领域探索的一种思路;
    Vizard 基于Python的通用VR开发引擎;专业的企业级VR开发引擎;提供详细的官方文档;支持多种主流的VR硬件设备,具有一定通用性;
  4. Python库之图形艺术

    描述
    Quads 迭代艺术;对图片进行四分迭代,形成像素风;可以生成动图或静图图像;简单易用,具有很高展示度;
    ascii_art ASCII艺术库;将普通图片转为ASCII艺术风格;输出可以使纯文本或彩色文本;可采用图片格式输出;
    turtle 海龟绘图体系,Python自带标准库

5.实例16:玫瑰花绘制

【笔记】《python语言程序设计》——python计算生态概览_第2张图片
玫瑰花绘制.png

三、测试

1.选择题

  1. 以下选项不是Python数据可视化方向第三方库的是:

    A Matplotlib B Mayavi C Pyramid D Seaborn

Pyramid是Web开发框架库。

  1. 以下选项不是Python网站开发框架方向第三方库的是:

    A Django B Flask C Pyramid D redis-py

redis-py是redis数据的Python访问接口。

  1. 以下选项不是Python数据分析方向第三方库是:

    A Scrapy B Numpy C SciPy D Pandas

Scrapy是网络爬虫库

  1. 以下选项不是Python Web信息提取方向第三方库的是:

    A Re B wxPython C Beautiful Soup D Python-Goose

wxPython是GUI第三方库。

  1. 以下选项不是Python文本处理方向第三方库的是:

    A python-docx B pyovr C PyPDF2 D NLTK

pyovr是增强现实开发库。

  1. 以下选项不是Python网络爬虫方向第三方库的是:

    A Python-Goose B pyspider C Scrapy D Requests

Python-Goose是Web提取第三方库。

  1. 以下选项不是Python图形用户界面方向第三方库的是:

    A PyQt5 B Vizard C wxPython D PyGObject

Vizard是虚拟现实第三方库。

  1. 以下选项不是Python游戏开发方向第三方库的是:

    A aip B Panda3D C PyGame D cocos2d

aip是baidu的人工智能功能Python访问接口。

  1. 以下选项不是Python人工智能方向第三方库的是:

    A Scikit-Learn B Seaborn C MXNet D TensorFlow

Seaborn是数据可视化第三方库。

  1. 以下选项不是Python网络应用开发方向第三方库的是:
    A WeRobot B numpy C aip D MyQR

numpy是多维度数据处理第三方库。

2.程序设计题

  1. 系统基本信息获取

描述:获取系统的递归深度、当前执行文件路径、系统最大UNICODE编码值等3个信息,并打印输出。

输出格式如下:

RECLIMIT:<深度>, EXEPATH:<文件路径>, UNICODE:<最大编码值>

提示:请在sys标准库中寻找上述功能。

import sys
print("RECLIMIT:{}, EXEPATH:{}, UNICODE:{}".format(sys.getrecursionlimit(), sys.executable, sys.maxunicode))
  1. 二维数据表格输出

描述:tabulate能够对二维数据进行表格输出,是Python优秀的第三方计算生态。

参考编程模板中给定的数据和代码,编写程序,能够输出如下风格效果的表格数据。

【笔记】《python语言程序设计》——python计算生态概览_第3张图片
tab_format.png
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基本语法元素

【笔记】《python语言程序设计》—Python基本图形绘制

【笔记】《python语言程序设计》——基本数据类型

【笔记】《python语言程序设计》——程序的控制结构

【笔记】《python语言程序设计》——函数和代码复用

【笔记】《python语言程序设计》——组合数据类型

【笔记】《python语言程序设计》——文件和数据格式化

【笔记】《python语言程序设计》——程序设计方法学

【笔记】《python语言程序设计》——python计算生态概览

你可能感兴趣的:(【笔记】《python语言程序设计》——python计算生态概览)