第13 章Pygame 游戏编程:
1、Pygame 常用模块
Pygame做游戏开发的优势在于不需要过多考虑与底层开发相关的内容,而可以把工作重心放在游戏逻辑上。例如,Pygame中集成了很多和底层开发相关的模块,如访问显示设备、管理事件、使用字体等。Pygame常用模块如下表所示。
模 块 名 | 功 能 |
pygame.cdrom | 访问光驱 |
pygame.cursors | 加载光标 |
pygame.display | 访问显示设备 |
pygame.draw | 绘制形状、线和点 |
pygame.event | 管理事件 |
pygame.font | 使用字体 |
pygame.image | 加载和存储图片 |
pygame.joystick | 使用游戏手柄或者类似的东西 |
pygame.key | 读取键盘按键 |
pygame.mixer | 声音 |
pygame.mouse | 鼠标 |
pygame.movie | 播放视频 |
pygame.music | 播放音频 |
pygame.overlay | 访问高级视频叠加 |
pygame.rect | 管理矩形区域 |
pygame.sndarray | 操作声音数据 |
pygame.sprite | 操作移动图像 |
pygame.surface | 管理图像和屏幕 |
pygame.surfarray | 管理点阵图像数据 |
pygame.time | 管理时间和帧信息 |
pygame.transform | 缩放和移动图像 |
2、display 模块的常用方法如下表所示
方 法 名 | 功 能 |
pygame.dispaly.init | 初始化 display 模块 |
pygame.dispaly.quit | 结束 display 模块 |
pygame.dispaly.get_init | 如果 display 模块已经被初始化,则返回 True |
pygame.dispaly.set_mode | 初始化一个准备显示的界面 |
pygame.dispaly.get_surface | 获取当前的 Surface 对象 |
pygame.dispaly.flip | 更新整个待显示的 Surface 对象到屏幕上 |
pygame.dispaly.update | 更新部分内容显示到屏幕上,如果没有参数,则与flip 功能相同 |
3、Surface 对象的常用方法如下表所示
方 法 名 | 功 能 |
pygame.Surface.blit | 将一个图像画到另一个图像上 |
pygame.Surface.convert | 转换图像的像素格式 |
pygame.Surface.convert_alpha | 转化图像的像素格式,包含 alpha 通道的转换 |
pygame.Surface.fill | 使用颜色填充 Surface |
pygame.Surface.get_rect | 获取 Surface 的矩形区域 |
第14 章网络爬虫开发
1、urllib 中的子模块
模 块 名 称 | 说 明 |
urllib.request | 该模块定义了打开 URL(主要是 HTTP)的方法和类,例如,身份验证、重定向、cookie 等等 |
urllib.error | 该模块中主要包含异常类,基本的异常类是 URLError |
urllib.parse | 该模块定义的功能分为两大类:URL 解析和 URL 引用 |
urllib.robotparser | 该模块用于解析 robots.txt 文件 |
2、Scrapy 爬虫框架
Scrapy 框架是一套比较成熟的 Python 爬虫框架,简单轻巧,并且非常方便,可以高效率地爬取 Web 页面并从页面中提取结构化的数据。
3、Crawley 爬虫框架
Crawley 也是 Python 开发出的爬虫框架,该框架致力于改变人们从互联网中提取数据的方式。
4、PySpider 爬虫框架
相对于 Scrapy 框架而言,PySpider 框架还是新秀。PySpider 框架采用Python 语言编写,分布式架构,支持多种数据库后端,强大的 WebUI 支持脚本编辑器,任务监视器,项目管理器以及结果查看器。
第15 章Web 编程
1、HTTP
HTTP(HyperText Transfer Protocol),即超文本传输协议,是互联网上应用最为广泛的一种网络协议。HTTP 是利用 TCP 在 Web 服务器和客户端之间传输信息的协议。
2、HTML 简介
HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言(Hyper Text MarkupLanguage),它不是一种编程语言,而是一种标记语言。
3、CSS
简介 CSS 是 Cascading Style Sheets(层叠样式表)的缩写。CSS 是一种标记语言,用于为HTML 文档定义布局。
4、JavaScript 简介
JavaScript 是一种可以嵌入在 HTML 代码中由客户端浏览器运行的脚本语言。在网页中使用 JavaScript 代码,不仅可以实现网页特效,还可以响应用户请求实现动态交互的功能。
5、CGI 简介
CGI(Common Gateway Interface),即通用网关接口,它是一段程序,运行在服务器上。
6、WSGI 简介
WSGI(Web Server Gateway Interface),即服务器网关接口,是Web 服务器和Web 应用程序或框架之间的一种简单而通用的接口。
第16 章常用Web框架
1、常用的 HTTP 方法
方 法 名 | 说 明 |
GET | 浏览器通知服务器:将获取页面上的信息并发给浏览器 |
HEAD | 浏览器通知服务器:获取信息,但是只关心消息头。应用应像处理GET请求一样来处理它,但是不分发实际内容。在Flask中你完全不需要人工干预,底层的Werkzeug库已经替你处理好了 |
POST | 浏览器通知服务器:在URL上发布新信息。并且,服务器必须确保数据已存储且仅存储一次。这是 HTML表单通常发送数据到服务器的方法 |
PUT | 类似POST,但是服务器可能触发了存储过程多次,多次覆盖掉旧值。考虑到传输中连接可能会丢失,在这种情况下浏览器和服务器之间的系统可能安全地第二次接收请求,而不破坏其他东西。因为POST只触发一次,所以使用POST是不可能的 |
DELETE | 删除给定位置的信息 |
OPTIONS | 给客户端提供一个捷径来弄清这个 URL支持哪些HTTP方法。从Flask 0.6开始,实现了自动处理 |
2、Jinja2 提供的部分常用过滤器
名 称 | 说 明 |
safe | 渲染值时不转义 |
capitalize | 把值的首字母转换成大写,其他字母转换成小写 |
lower | 把值转换成小写形式 |
upper | 把值转换成大写形式 |
title | 把值中每个单词的首字母都转换成大写 |
trim | 把值的首尾空格去掉 |
striptags | 渲染之前把值中所有的 HTML 标签都删掉 |
3、Django 项目中的文件及说明
文 件 | 说 明 |
manage.py | Django 程序执行的入口 |
db.sqlite3 | SQLite 的数据库文件,Django 默认使用这种小型数据库存取数据,非必须 |
templates | Django 生成的 HTML 模板文件夹,我们也可以在每个 app 中使用模板文件夹 |
demo | Django 生成的和项目同名的配置文件夹 |
settings.py | Django 总的配置文件,可以配置 App、数据库、中间件、模板等诸多选项 |
urls.py | Django 默认的路由配置文件 |
wsgi.py | Django 实现的 WSGI 接口的文件,用来处理 Web 请求 |
4、Django 项目中 App 目录的文件及说明
文 件 | 说 明 |
migrations | 执行数据库迁移生成的脚本 |
admin.py | 配置 Django 管理后台的文件 |
apps.py | 单独配置添加的每个 App 的文件 |
models.py | 创建数据库数据模型对象的文件 |
tests.py | 用来编写测试脚本的文件 |
views.py | 用来编写视图控制器的文件 |
5、Django 数据模型中常见字段类型及说明
字 段 类 型 | 说 明 |
AutoField | 一个 id 自增的字段,但创建表过程 Django 会自动添加一个自增的主键字段 |
BinaryField | 一个保存二进制源数据的字段 |
BooleanField | 一个布尔值的字段,应该指明默认值,管理后台中默认呈现为 CheckBox 形式 |
NullBooleanField | 可以为 None 值的布尔值字段 |
CharField | 字符串值字段,必须指明参数 max_length 值,管理后台中默认呈现为TextInput 形式 |
TextField | 文本域字段,对于大量文本应该使用 TextField。管理后台中默认呈现为TextArea 形式 |
DateField | 日期字段,代表 Python 中 datetime.date 的实例。管理后台默认呈现TextInput 形式 |
DateTimeField | 时间字段,代表 Python 中 datetime.datetime 实例。管理后台默认呈现TextInput |
EmailField | 邮件字段,是 CharField 的实现,用于检查该字段值是否符合邮件地址格式 |
FileField | 上传文件字段,管理后台默认呈现 ClearableFileInput 形式 |
ImageField | 图片上传字段,是 FileField 的实现。管理后台默认呈现 ClearableFileInput 形式 |
IntegerField | 整数值字段,在管理后台默认呈现 NumberInput 或者 TextInput 形式 |
FloatField | 浮点数值字段,在管理后台默认呈现 NumberInput 或者 TextInput 形式 |
SlugField | 只保存字母数字和下划线和连接符,用于生成 url 的短标签 |
UUIDField | 保存一般统一标识符的字段,代表 Python 中 UUID 的实例,建议提供默认值default |
ForeignKey | 外键关系字段,需提供外检的模型参数,和on_delete参数(指定当该模型实例删除的时候,是否删除关联模型),如果要外键的模型出现在当前模型的后面,需要在第一个参数中使用单引号 |