知识导图
- 计算思维的本质是抽象和自动化。
程序设计方法论
基本程序方法学主要以自顶向下设计和自底向上执行为主。
- 自顶向下的设计过程:从问题输入输出确定开始,整体设计逐渐向下进行。每一层以大体算法描述开始,然后逐步细化成代码,细节被函数封装,整个过程可以概括成4个步骤:
- 将算法表达为一系列小问题;
- 为每个小问题设计接口;
- 通过将算法表达为接口关联的多个小问题来细化算法;
- 为每个小问题重复上述过程。
自顶向下设计是一种开发复杂程序最具价值的设计理念和工具,设计过程自然且简单,自顶向下设计通过封装实现抽象,利用了模块化设计的思想。
- 自底向上执行:程序编写后,需要经过测试过程。对于较小规模的程序,直接运行即可。但对于稍微大规模的程序,需要特殊方法应对测试问题,开展测试的更好方法是将程序分成小部分逐个测试。
执行中等规模程序的最好方法是从结构图最底层开始,而不是从顶层开始,然后逐步上升。或着说,先运行和测试每一个基础函数,再测试由基础函数组成的整体函数,这样有助于定位错误。
Python解释器提供import保留字辅助开展单元测试,语法格式如下:
import<源文件名称>
计算生态
Python官方网站提供了第三方库索引功能,网址如下:
Python官方网站
Python语言的函数库并非都采用Python语言编写。
Python第三方程序包括库(library)、模块(module)和程序包(package)等多种命名。
更广泛的Python计算生态采用额外安装方式服务用户,被成为Python 第三方库。Python通过新一代安装工具pip管理大部分Python第三方库的安装。
基本的Python内置函数
Python解释器提供了68个内置函数,不需要应用库而直接使用.这里介绍其中的32个。
实例解析——Web页面元素提取
Web页面,一般是HTML页面,是Internet组织信息的基础元素。Web页面元素提取是一类常见的问题,在网络爬虫,浏览器等程序中有着不可或缺的重要作用。HTML不是一种编程语言,而是一种对信息的标记语言,对Web的内容,格式进行描述。
本实例以一个HTML形式的Web页面为输入,对国家地理的页面进行元素分析、提取、输出并保存页面中包含的图片链接。
本实例功能可以整体分成如下4个步骤:
- 读取保存在本地的html文件;
- 解析并提取其中的图片链接;
- 输出提取结果在屏幕;
- 保存提取结果为文件。
根据上述步骤,可以写主程序如下(其中设置了4个函数getHTMLlines()、extractImageUrls()、showResults()和saveResults()分别对应上述4个步骤)。
定义main()函数的目的是为了让代码更加清晰,作为主程序,也可以不采用函数形式而直接编写。
def main():
inputfile='chinesegeographic.html'
outputfile='chinesegeographic-urls.txt'
htmlLines=getHTMLlines(inputfile)
imageUrls=extractImageUrls(htmlLines)
showResults(imageUrls)
saveResults(outputfile,imageUrls)
getHTMLlines()函数读取HTML文件内容,并将结果转换为一个分行列表。
def getHTMLlines(htmlpath):
f=open(htmlpath,"r",encoding='utf-8')
ls=f.readlines()
f.close()
return ls
extractImageUrls()函数是程序的核心,用于解析文件并提取图像的URL。
def extractImageUrls(htmllist):
urls=[]
for line in htmllist:
if 'img' in line:
url=line.split('src=')[-1].split(