当前位置:首页 > 时尚生活

newsagent 干货 | 这4个Python实战项目,让你瞬间读懂Python!

Python是一种可读性很强、用途广泛的编程语言。Python这个名字的灵感来源于英国喜剧团体蒙蒂·Python。它的开发团队有一个重要的基本目标,就是让语言变得有趣。Python易于设置,编写风格相对直接,对错误和误解提供即时反馈,是初学者的好选择。

Python是一种多范式语言,即支持多种编程风格,包括脚本和面向对象,这使得它适合一般用途。随着联合泰空联盟(NASA的主要飞机支持承包商)和工业光魔(VFX和卢卡斯影业的动画工作室)等组织越来越多地在工业中使用Python,Python为那些寻求额外编程语言的人提供了巨大的潜力。

1994年一个叫comp.lang.python的重要python新闻组成立时,Python的用户基数不断增长,为Python成为开源开发中最流行的编程语言之一铺平了道路。

Python现在真的很火。Python实战项目也受到了特别的关注。接下来我们介绍一下Python手训的实战项目。

Python项目练习1:即时标记

这就是Python基础教程背后的做法。按照写法,一方面是熟悉Python的代码模式,另一方面是在Python中练习使用基本和非基本的语法,这样熟能生巧。

这个项目一开始比较简单,但是重构后有些复杂,但是更灵活。

按照书上的说法,重构后的程序分为四个模块:处理模块、过滤模块、规则(其实应该是处理规则)和解析器。

先说处理器模块。这个模块有两个功能,一个是提供固定html标签的输出(每个标签都有开始和结束),另一个是为标签输出的开始和结束提供友好的访问接口。看看程序处理程序。

这个程序是整个“项目”的基石:它提供标签的输出和字符串的替换。理解起来也比较简单。

我们来看第二个模块,“Filter”,比较简单,其实就是一串正则表达式。相关代码如下:

这是三个过滤器,分别是:强调过滤器(标有×)、网址过滤器和电子邮件过滤器。熟悉正则表达式的同学没有理解的压力。

我们来看第三个模块“规则”。这个模块,不考虑祖父母类,应该有两个方法:条件和动作。前者用于判断读取的字符串是否符合自己的规则,后者用于执行操作。所谓执行操作,是指调用“处理程序模块”,输出前标签、内容和后标签。看这个模块的代码。事实上,这个模块中几个类之间的关系在绘制到类图中时会更加清晰。rules.py:

补充utils.py:

如果在学习Python的过程中遇到很多问题,可以免费添加-q-u-n 227 -435-450,里面有软件视频资料。

总而言之:

最后看“解析器模块”。这个模块的作用其实是协调读入的文本与其他模块的关系。为了说明这一点,提供了两个用于存储“规则”和“过滤器”的列表。这样做的好处是整个程序的灵活性得到了很大的提高,规则和过滤器成为了热插拔的方式。当然,这也归因于这样一个事实,即在编写规则和过滤器时,每种类型的规则(过滤器)都是作为一个类单独编写的,而不是用if来区分..否则。看看代码:

这个模块中的处理思想是遍历客户端插入的所有规则和过滤器(即程序执行入口)来处理读入的文本。

有个细节要提一下。其实它呼应了前一个,就是在遍历规则的时候,我们可以通过调用条件来判断它是否符合当前的规则。

我觉得这个程序很像命令行模式。有空可以审核,以保持内存网络节点稳固。

最后,我认为这个节目的目的:

1.它用于代码高亮分析。如果重写为js版本,可以作为在线代码编辑器使用。

2.可以用来学习,也可以用来写博文。

还有其他的想法可以留下你的见解。

添加一个类图很简单,但是应该能说明它们之间的关系。另外,我还是建议,如果看代码看不懂其中的关系,最好自己画图,自己画图就可以熟悉整个结构。

Python项目练习2:画好图

这是Python基础教程的第二个项目。关于Python操作PDF,涉及的知识点如下:

1.urllib的使用

2.报告实验室库的使用

这个例子真的很简单,但是我发现在Python中,可以直接在数组[]中写一个for循环,越来越方便。

以下是代码:

Python项目练习3:通用XML

这个项目的名字叫做自动构建网站,而不是通用的XML。根据一个XML文件,生成对应目录结构的网站。但是,只有html太简单了。如果能一起生成css,会更强大。这需要进一步的研究和开发。首先,我们将研究如何构建html网站。既然网站是用XML结构生成的,那么所有的事情都要通过这个XML文件来完成。我们来看看这个xml文件,网站。XML:

有了这个文件,我们应该看看如何从这个文件生成一个网站。

首先,我们需要解析这个xml文件。Python解析xml的方式和Java一样。有两种方式,SAX和DOM。两种处理方式的区别在于速度和范围。前者注重效率,一次只处理一小部分文档,能快速有效地利用内存。后者则是相反的处理方法,先把所有文档加载到内存中,然后再进行处理。速度慢,消耗内存。唯一的好处就是整个文档都可以操作。

在Python中,应该首先引入xml.sax中的parse函数和xml.sax.handler中的ContentHandler,后一个类应该与parse函数结合使用。使用方式如下:parse('xxx.xml ',xxxHandler),其中xxxHandler应该继承上面的ContentHandler,但是只需要继承,不需要做任何事情。然后,在处理xml文件时,这个解析函数将调用xxxHandler中的startElement函数和endElement函数来开始和结束xml中的一个标记。在中间过程中,一个名为characters的函数被用来处理标签中的所有字符串。

有了以上的知识,我们已经知道如何处理xml文件了,再来看看万恶之源网站. xml文件,分析一下它的结构。只有两个节点:页面和目录。显然,页面代表页面,目录代表目录。

所以处理这个xml文件的想法变得很清楚。读取xml文件中的每个节点,然后判断是页面还是目录。如果是page,创建html页面,然后将节点中的内容写入文件。如果遇到目录,创建一个文件夹,然后处理其内部页面节点(如果存在)。

让我们看看这部分代码。书中的实现复杂而灵活。先看,再分析。

上面对这个程序的分析似乎很复杂,但是伟人毛毛说过,任何复杂的程序都是纸老虎。我们再来分析一下程序。

首先,我们看到这个程序有两个类,因为继承可以看作一个类。

然后我们再来看看里面还有什么,除了我们分析的startElement和endElement和人物,还有更多的startPage和endPage开始目录,结束目录;默认开始,默认结束;ensureDirectorywriteHeader,writeFooter和调度,这些功能。除了调度,前面的函数都很好理解,每对函数都简单地处理相应的html标签和xml节点。调度更复杂,因为它用于动态组装函数并执行它们。

调度的处理思路是:首先根据传递的参数(即操作名和节点名),判断是否有startPage等对应的功能;如果不是,则执行默认+操作名,如defaultStart。

一旦功能明确,我们就知道整个处理流程是什么样的了。首先创建一个public_html的文件存储整个网站,然后读取xml的节点,通过startElement和endElement调用dispatch进行处理。然后就是dispatch如何调用具体的处理函数。至此,本项目分析完毕。

其中一个主要内容是用SAX在python中处理XML,另一个是用python中的函数,比如getattr,传递参数时星号…

Python项目练习4:新闻聚合

书中第四个练习是新闻聚合。现在很少见的一种应用,至少我没用过,也叫Usenet。这个程序的主要功能是从指定的来源(这里是Usenet新闻组)收集信息,然后将信息保存到指定的目的文件(这里使用了两种形式:纯文本和html文件)。这个程序的使用有点类似于现在的博客订阅工具或者RSS订阅者。

先编码,再逐一分析:

这个程序,首先是作为一个整体来分析的,关键部分在于NewsAgent,它的功能是存储新闻源和目的地址,然后分别调用源服务器(NNTPSource和SimpleWebSource)和新闻写作类(PlainDestination和HTMLDestination)。所以从这里可以看出,NNTPSource是专门用来获取新闻服务器上的信息的,SimpleWebSource是用来获取某个url上的数据的。PlainDestination和HTMLDestination的作用很明显。前者用于将获取的内容输出到终端,而后者用于将数据写入html文件。

有了这些分析,再看主程序的内容,主程序就是给NewsAgent添加信息源和输出目的地址。

这确实是一个简单的程序,但是这个程序使用了分层。

*声明:推送的内容和图片来自互联网,部分内容会有改动,版权归原作者所有。如果来源信息有误或侵犯权益,请联系我们进行删除或授权。

-结束-

1.《newsagent 干货 | 这4个Python实战项目,让你瞬间读懂Python!》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《newsagent 干货 | 这4个Python实战项目,让你瞬间读懂Python!》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1036485.html

上一篇

冰岛载中国游客大巴翻侧 1名中国公民死亡

下一篇

DU本好书 真相到底是怎样的?

梁永军追机密文件是第几集

梁永军追机密文件是第几集

勇对机要文件的追求是第一集,勇是电视剧《突击与突击》中出现的虚拟人物,这是一部由央视、幸福蓝海影视文化集团有限公司联合出品、舒崇福执导、陈月末、邹俊百、高一丹、、、宋楚炎、和主演的青春励志军事剧。该剧讲述了一群年轻的战士带着不同的梦想和目的来到青藏高原的顶端,最终成为高原战士的故事。该剧于2018年3月12日...

win10动态桌面 自定义Windows10动态桌面与文件夹堆栈

  • win10动态桌面 自定义Windows10动态桌面与文件夹堆栈
  • win10动态桌面 自定义Windows10动态桌面与文件夹堆栈
  • win10动态桌面 自定义Windows10动态桌面与文件夹堆栈

appcrash 当你电脑的应用程序突然崩溃时,支你几招

  • appcrash 当你电脑的应用程序突然崩溃时,支你几招
  • appcrash 当你电脑的应用程序突然崩溃时,支你几招
  • appcrash 当你电脑的应用程序突然崩溃时,支你几招

字体文件夹 暴雪修改魔兽世界文件夹结构,更新后插件字体失灵,用这一招可破

微信小打卡怎么用 微信打卡小程序上线,你会用吗?

微信小打卡怎么用 微信打卡小程序上线,你会用吗?

对于微信来说,这是大家都很熟悉的东西,尤其是目前,它的用户可以说达到了上亿的接触。很多商家对此非常关注,尤其是这个平台推出的小程序的出现,让很多企业受益匪浅。为什么这么说?小程序具有强大的实用功能,为企业带来更便捷的服务。在管理方面,它们足以让许多企业受益。打卡可以在小程序的帮助下完成。不知...

怎么粉碎文件 电脑文件删除恢复:被360粉碎的文件怎么恢复

  • 怎么粉碎文件 电脑文件删除恢复:被360粉碎的文件怎么恢复
  • 怎么粉碎文件 电脑文件删除恢复:被360粉碎的文件怎么恢复
  • 怎么粉碎文件 电脑文件删除恢复:被360粉碎的文件怎么恢复

粉碎文件 电脑文件删除恢复:被360粉碎的文件怎么恢复

  • 粉碎文件 电脑文件删除恢复:被360粉碎的文件怎么恢复
  • 粉碎文件 电脑文件删除恢复:被360粉碎的文件怎么恢复
  • 粉碎文件 电脑文件删除恢复:被360粉碎的文件怎么恢复

程序员租女友遭骗 “租友”可能出现哪些法律风险?

程序员讲租女朋友被骗的痛苦经历。现在一些“租房友”网站都涉及黄色信息 为什么“租友”市场成为各种违法活动的“集散地” 调查动机 对于一些单身年轻人来说,春节快到了,意味着新一轮的“促婚”。从前些年的“有钱没钱,回家过年”到...