Python进阶

  • 程序设计方法学
    • 用户体验
    • 模块化设计
    • 应用软件开发的四个步骤
  • 安装Python第三方库
  • 数据分析
    • Numpy 表达N维数组的最基础库
    • pandas Python数据分析高层次应用库
    • SciPy 数学、科学和工程计算功能库
  • 数据可视化
    • Matplotlib 高质量的二维数据可视化功能库
    • Seaborn 统计类数据可视化功能库
    • Mayavi 三维科学数据可视化功能库
  • 文本处理
    • PyPDF2 用来处理pdf文件的工具集
    • NLTK 自然语言文本处理第三方库
    • Python-docx 创建或更新Word的第三方库
  • 机器学习
    • Scikit-learn 机器学习方法工具集
    • TensorFlow AlphaGo背后的机器学习计算框架
    • MXNet 基于神经网络的深度学习计算框架
  • 网络爬虫
    • Requests 最友好的网络爬虫功能库
    • Scrapy 优秀的网络爬虫框架
    • pyspider 强大的Web页面爬取系统
  • Web信息提取
    • Beautiful Soup HTML和XML的解析库
    • Re 正则表达式解析和处理功能库
    • Python-Goose 提取文章类型Web页面的功能库
  • 网站开发
    • Django 最流行的Web应用框架
    • Pyramid 规模适中的Web应用框架
    • Flask Web应用开发微框架
  • 网站应用开发
    • WeRoBot 微信公众号开发框架
    • aip 百度AI开放平台接口
    • MyQR
  • 图形用户界面
    • PyQt5 Qt开发框架的Python接口
    • wxPython 跨平台GUI开发框架
    • PyGObject 使用GTK+开发GUI的功能库
  • 游戏开发
    • PyGame 简单的游戏开发功能库
    • Panda3D 开源、跨平台的3D渲染和游戏开发库
    • cocos2d 构建2D游戏和图形界面交互式应用的框架
  • 虚拟现实
    • VR Zero 在树莓派上开发VR应用的Python库
    • pyovr Oculus Rift 的Python开发接口
    • Vizard 基于Python的通用VR开发引擎
  • 图形艺术
    • Quads 迭代的艺术
    • ascii_art ASCII艺术库
    • turtle 海龟绘图体系

参考链接:北京理工大学 Python语言程序设计

程序设计方法学

编程的起点不是 算法 而是 系统
编程如同搭积木,利用计算生态为主要模式;
编程的目标是快速解决问题

用户体验

关心功能实现,更要关心用户体验,才能做出好产品
编程只是手段,不是目的,程序最终是为人类服务
提升用户体验的方法

  • 1 进度展示

    • 如果程序需要计算时间,可能产生等待,请增加进度展示
    • 如果程序有若干步骤,需要提示用户,请增加进度展示
    • 如果程序可能存在大量次数循环,请增加进度展示
  • 2 异常处理
    • 当获得用户输入,对合规性需要检查,需要异常处理
    • 当读写文件时,对结果进行判断,需要异常处理
    • 当进行输入输出时,对运算结果进行判断,需要异常处理
  • 3 其他方法
    • 打印输出:特定位置,输出程序运行的过程信息。
    • 日志文件:对程序异常及用户使用进行定期记录
    • 帮助信息:给用户多种方式提供帮助信息

模块化设计

通过函数或对象封装将程序划分为模块及模块间的表达
具体包括:主程序,子程序和子程序间关系
分而治之:一种分而治之,分层抽象,体系化的设计思想
紧耦合:两个部分之间交流很多,无法独立存在
松耦合:两个部分之间交流较少,可以独立存在
模块内部紧耦合,模块之间松耦合

应用软件开发的四个步骤

1 产品定义:对应用需求充分理解和明确定义,不仅是功能定义,要考虑商业模式
2 系统架构:以系统方式思考产品的技术实现,关注数据流,模块化,体系架构
3 设计与实现:结合架构完成关键设计及系统实现,结合可扩展性,灵活性等进行设计优化
4 用户体验:从用户角度思考应用效果;用户至上,体验优先,以用户为中心

安装Python第三方库

1 使用pip命令

2 集成安装方法
3 文件安装方法
有些第三库下载之后,需要编译在安装,如果没有编译环境的话,会安装失败。可以从UCI页面下载直接编译后的版本。

数据分析

Numpy 表达N维数组的最基础库

Python 接口使用,C语言实现,计算速度优异
Python 数据分析及科学计算的基础库,支撑Pandas等
提供直接的矩阵运算,广播函数,线性代数等功能
可以直接错做N维数组的运算

pandas Python数据分析高层次应用库

提供了简单易用的数据结构和数据分析工具
理解数据类型和索引的关系,操作索引即操作数据
Python最重要的数据分析功能库,基于Numpy开发
Series = 索引 + 一维数据
DataFrame = 行列索引 + 二维数据

SciPy 数学、科学和工程计算功能库

提供了一批数学算法及工程数据运算功能
类似Matlab,可用于如傅里叶变化,信号处理等应用
Python最主要的科学计算功能库,基于Numpy开发

数据可视化

Matplotlib 高质量的二维数据可视化功能库

提供了超多100种数据可视乎展示效果
通过matplotlib.pyplot子库调用各可视化效果
Python最主要的数据可视化功能库,基于Numpy开发

Seaborn 统计类数据可视化功能库

提供了一批高层次的统计类数据可视化展示效果
主要展示数据间分布,分类和线性关系等内容
基于Matplotlib开发,支持Numpy和Pandas

Mayavi 三维科学数据可视化功能库

提供了一批简单易用的3D科学计算数据可视化展示效果
目前版本时Mayavi4 ,三维可视化最主要的第三方库
支持Numpy、TVTK、Traits、Envisage等第三方库

文本处理

PyPDF2 用来处理pdf文件的工具集

提供了一批处理PDF文件的计算功能
支持获取信息、分隔/整合文件,加密解密等
完全Python实现,不需要额外依赖,功能稳定。

NLTK 自然语言文本处理第三方库

提供了一批简单易用的自然语言文本处理功能
支持语言文本分类、标记、语法句法、语义分析等
最优秀的Python自然语言处理库

Python-docx 创建或更新Word的第三方库

提供创建或更新.doc .docx等文件的计算功能
增加并配置段落、图片、表格、文字等,功能全面

机器学习

Scikit-learn 机器学习方法工具集

提供一批统一化的机器学习方法功能接口
提供聚类、分类、回归、强化学习等计算功能
机器学习最基本且最优秀的Python第三方库

TensorFlow AlphaGo背后的机器学习计算框架

谷歌公司推动的开源机器学习框架
将数据流图作为基础,图节点代表运算,边代表张量
应用机器学习方法的一种方式,支撑谷歌人工智能应用

MXNet 基于神经网络的深度学习计算框架

提供可扩展的神经网络及深度学习计算功能
可用于自动驾驶、机器翻译、语音识别等众多领域
Python最重要的深度学习计算框架

网络爬虫

Requests 最友好的网络爬虫功能库

Scrapy 优秀的网络爬虫框架

提供了构建网络爬虫系统的框架功能,功能半成品
支持批量和定时网页爬取,提供数据处理流程等
Python 最主要且最专业的网络爬虫框架

pyspider 强大的Web页面爬取系统

提供了完整的网页爬取系统构建功能
支持数据库后端、消息队列、优先级、分布式框架等
Python重要的网络爬虫类第三方库

Web信息提取

Beautiful Soup HTML和XML的解析库

提供了解析HTML和XML等Web等信息的功能
又名beautifulsoup4或bs4,可以加载多种解析引擎
常与网络爬虫库搭配使用,如Scrapy,requests等

Re 正则表达式解析和处理功能库

提供了定义和解析正则表达式的一批通用功能
可用于各类场景,包括定点的Web信息提取
Python最主要的标准库之一,无需安装

Python-Goose 提取文章类型Web页面的功能库

提供了对Web页面中文章信息/视频等元数据的提取功能
针对特定类型Web页面,应用覆盖面较广
Python最主要的Web信息提取库

网站开发

Django 最流行的Web应用框架

提供了构建Web系统的基本应用框架
MTV 模型 模式 模板 试图
Python 最重要的Web应用框架,略微复杂的应用框架

Pyramid 规模适中的Web应用框架

提供了简单方便构建Web系统的应用框架
不大不小,规模适中,适合快速构建并适度拓展类应用
Python产品级Web应用框架,起步简单可扩展性好

Flask Web应用开发微框架

提供了最简单构建Web系统的应用框架
特点是:简单、规模小、快速
Django > Pyramin > Flask

网站应用开发

WeRoBot 微信公众号开发框架

aip 百度AI开放平台接口

提供了访问百度AI服务的Python 功能接口
语音、人脸、OCR、NLP、知识图谱、图像搜索等领域
Python 百度AI应用的最主要方式

MyQR

提供了生成二维码的系列功能
基本二维码、艺术二维码和动态二维码

图形用户界面

PyQt5 Qt开发框架的Python接口

提供了创建Qt5程序的Python API接口
Qt是非常成熟的跨平台桌面应用开发系统,完备GUI
推荐的Python GUI开发第三方库

wxPython 跨平台GUI开发框架

提供了专用于Python的跨平台GUI开发框架
理解数据类型与索引的关系,操作索引即操作数据
Python最主要的数据分析功能库,基于Numpy开发

PyGObject 使用GTK+开发GUI的功能库

提供了整合GTK+、WebKitGTK+等库的功能
GTK+ 跨平台的一种用户图形界面GUI框架
实例 Anaconda采用该库构建GUI

游戏开发

PyGame 简单的游戏开发功能库

提供了基于SDL的简单游戏开发功能及实现引擎
理解游戏对外部输入的响应机制及角色构建和交互机制
Python游戏入门最主要的第三方库

Panda3D 开源、跨平台的3D渲染和游戏开发库

一个3D游戏引擎,提供Python和C++两种接口
支持很多先进特性:法线贴图、光泽贴图、卡通渲染等
有迪士尼和卡尼基梅隆大学共同开发

cocos2d 构建2D游戏和图形界面交互式应用的框架

提供了基于OpenGL的游戏开发图形渲染功能
支持GPU加速,采用树形结构分层管理游戏对象类型
适用于2D专业级游戏开发

虚拟现实

VR Zero 在树莓派上开发VR应用的Python库

提供大量与VR开发相关的功能
针对树莓派的VR开发库,支持设备小型化,配置简单化
非常适合初学者实践VR开发及应用

pyovr Oculus Rift 的Python开发接口

针对Oculus VR设备的Python开发库
基于成熟的VR设备,提供全套文档,工业级应用设备
Python + 虚拟显示领域探索的一种思路

Vizard 基于Python的通用VR开发引擎

专业的企业级虚拟现实开发殷勤
提供详细的官方文档
支持多种主流的VR硬件设备,具有一定的通用新

图形艺术

Quads 迭代的艺术

对图片进行四分迭代,形成像素风
可以生成动图或静图图像
简单易用,具有很高展示度

ascii_art ASCII艺术库

将普通图片转为ASCII艺术风格
输出可以是纯文本或彩色文本
可采用图片格式输出

turtle 海龟绘图体系

可以生成 Random Art

百科不全书之Python进阶相关推荐

  1. 百科不全书之Python网络爬虫1

    参考链接: 中国大学MOOC Python网络爬虫与信息提取 Python网络爬虫 前奏 The Website is the API Requests Requsets库的get()方法 Reque ...

  2. 如果只推荐一本 Python 进阶的书,我要 Pick 它!

    作者 | 豌豆花下猫 今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python 进阶类书目,这本书肯 ...

  3. 怎么更进一步学python_【百尺竿头,更进一步学Python】Python进阶课程——进程,线程和协程的区别...

    本文带来各类奇怪的IT百科知识. [百尺竿头,更进一步学Python]Python进阶课程--进程:线程和协程的区别 现在多进程多线程已经是老生常谈了:协程也在最近几年流行起来.今天我们本文主要介绍进 ...

  4. [转载] Python进阶:设计模式之迭代器模式

    参考链接: Python中的迭代器 在软件开发领域中,人们经常会用到这一个概念--"设计模式"(design pattern),它是一种针对软件设计的共性问题而提出的解决方案.在一 ...

  5. 106页《Python进阶》中文版介绍分享

    1 前言 人生苦短,Python是岸. 近年来随着人工智能和机器学习的发展,Python大火,但其实Python并不是一门年轻的语言,早在1991年它就出现了.这门编程语言已经发展了多年,在可预见的未 ...

  6. Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)...

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义:       这里 ...

  7. python进阶教程

    Python进阶中文教程 转自GitBookhttps://eastlakeside.gitbooks.io/interpy-zh/content/?q= 我仔细学习了该进阶教程,原著根据<In ...

  8. 怎么用Python写出随时间变化的字_如果只推荐一本 Python 进阶书籍,我要 Pick 它!...

    本文作者:豌豆花下猫,来源:Python猫 今年二月初,我偶然看到了一条推特: <流畅的Python>一书的作者发布了一条激动人心的消息:他正在写作第二版! 如果要票选最佳的 Python ...

  9. Python进阶之正则表达式

    1. 关于正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用 ...

  10. Python进阶之递归函数的用法及其示例

    作者 | 程序员adny 责编 | 徐威龙 封图| CSDN│下载于视觉中国 出品 |  AI科技大本营(ID:rgznai100) 本篇文章主要介绍了Python进阶之递归函数的用法及其示例,现在分 ...

最新文章

  1. F#探险之旅(三):命令式编程(上)
  2. .NET : VS 2008中的一个转换器
  3. 使用Callable来获取数组的最大值
  4. CentOS7 安装chrome浏览器和ChromeDriver 及 python脚本调用chrome浏览器
  5. 小白入门深度学习 | 第五篇:数据不均衡的处理方法
  6. 作业帮电脑版在线使用_在线K12赛道六虎争霸:猿辅导、作业帮又宣布新一轮融资...
  7. Atitit session的概念总结
  8. android使用Charles抓包https请求
  9. android aso优化工具,如何使用ASO优化工具优化安卓应用商店
  10. 我在名牌大学毕业后的经历
  11. 数据库驱动程序是什么?
  12. T32 dump 连续寄存器
  13. 如何搭建一个自己的私有云盘
  14. 如何使用Python给照片自动带上口罩,我是从入门放弃到爱不释手的
  15. Python多进程写Kafka
  16. 剑指高效编程之函数编程
  17. C# CultureInfo列表
  18. Kong+Konga配置原理、操作 学习分享
  19. Lightroom Classic 9.0安装教程
  20. java电商面试问题以及回答,帮你解决90%的问题!

热门文章

  1. python 获取英文人名翻译
  2. BT种子文件信息库-TorrentinfoLibrary
  3. 【GIMP】免费开源图像处理软件
  4. 闭环控制 matlab仿真,反馈闭环控制系统Simulink仿真(带电流补偿的电压内环,直流调速)...
  5. 计算机程序阶乘怎么写,N的阶乘的程序怎么写啊?VB啊
  6. win10系统自动安装应用商店(Microsoft Store)方法步骤
  7. nova红a6se升级鸿蒙,华为nova 8 SE配置揭晓:麒麟芯片到底是没了
  8. linux如何打开elf文件格式,linux ELF文件格式
  9. 【昊鼎王五】Windows的Git客户端安装步骤
  10. c语言正确声明的格式,c语言函数声明(c语言函数声明格式)