《Head_First_Python》阅读笔记(7、11章)

前言

因为第8,9章讲的是Android方面的,第10章用到了Google App Engine,所以这三章本人选择跳过。算是马马虎虎把这本书给读完了吧,花的时间比预计的多,之间跑去搞了会hexo主题的事情,因此延后了阅读的时间。总体来说,本书的质量还是不错的,适合Python入门,但想要深入理解Python肯定需要再看其他书籍。

正文

第七章:web开发

生成html的辅助函数yate.py


使用Python构建一个web服务器

调用yate.py生成html页面,显示选手列表

调用yate.py生成html页面,显示选手最快的三个成绩

Python术语:
“@property”:这时一个修饰符,可以使类方法表现得像是一个类属性。
Web术语:
“CGI”:通用网关接口,允许web服务器运行一个服务器端程序。

知识点:
标准库string模块包括一个名为Template的类,它支持简单的字符串替换。
标准库http.server模块可以用来在Python中建立一个简单的web服务器。
标准库CGI模块对编写CGI脚本提供了支持。
标准库glob模块非常适合处理文件名列表。
启用标准库cgitb模块时,允许在浏览器中查看CGI编码错误。
CGI代码中可以使用cgitb.enable()打开CGI跟踪。
可以使用cgi.FieldStorage()访问作为web请求一部分发送给web服务器的数据,数据将作为一个Python字典。

第十一章:数据加工

一个预测跑步时间的例子:

1.数据文件:总共有50列,只截出部分。

2.辅助函数:


3.主函数:

4.测试:

数据分析:
图中步骤1:通过输入的distance_run(20k)和recorded_time(59:59),计算出distance_run对应的行最接近recorded_time的时间,即1:00:23;步骤2为根据distance_run和1:00:23,计算出的VO2值,即79.3,步骤三为根据79.3和predicted_distance(Marathon),计算出预测的时间,即2:14:15。

Python术语:
“条件”列表推导尾部包括一个“if”语句,允许在推导运行时控制哪些项可以增加到新列表中。
列表推导可以重写为一个等价的“for”循环。

知识点:
input()BIF允许为用户提供提示语并接收输入。
time模块作为标准库的一部分,包含了大量函数可以完成时间格式之间的转换。

版权声明:本文为博主原创文章,转载请注明出处 Chillax’s Blog