简明Python3教程 18.下一步是什么

本文提供了Python学习路径建议,包括创建通讯录程序、实现replace命令等实战练习,并推荐了丰富的学习资源如PLEAC项目、Python Cookbook等。

如果你有认真通读本书之前的内容并且实践其中包含的大量例程,那么你现在一定可以熟练使用python了。

同时你可能也编写了一些程序用于验证python特性并提高你的python技能。如果还没有这样做的话,你应该去试试。

现在的问题是接下来应该做什么

我建议你先解决下面的问题:

创建你自己的命令行版本的通讯录程序,利用它你可以浏览修改删除或搜索诸如朋友,家人,同事等联系人和

他们的email地址/或电话号码等信息。这些信息必须存起来以便需要时提取。

思考下我们已经学到的各种知识,这个问题其实相当简单。

如果你感觉还是不好下手的话,这有一些提示。

提示(其实最好不要阅读这个提示)

创建一个表示联系人(persion)信息的类。使用字典存储联系人对象并以人物的名字作为字典键。

然后利用pickle模块把这些对象永久存储到你的硬盘中。

最后通过字典的内建方法add, deletemodify分别增加删除修改联系人。

只要你有能力完成这个程序,你就可以自信的说你是一个python程序员了。

那么现在马上给我发送mail(http://www.swaroopch.com/contact/)好感谢我编写了如此强大的教程吧:-)

当然这步是可选的但我还是希望你发过来。

同时,也请考虑下捐赠,提供改进意见建议或是自愿翻译本书,以支持本书的持续发展。(注:我翻译的我翻译的我翻译的...)

如果你觉得上面的程序太简单,这还有另一个:

实现replace命令(http://unixhelp.ed.ac.uk/CGI/man-cgi?replace

此命令用于在给定的文件列表中的所有文件中替换指定的字符串。

replace命令可以简单的执行字符串替换也可以复杂的进行模式查找(正则表达式),这取决于你的意愿。

下面是一些继续学习python的方法:

 

实例代码

学习程序设计最好的办法就是编写阅读大量代码:

•  PLEAC项目(http://pleac.sourceforge.net/pleac_python)

•  Rosetta代码资料库(Rosetta code repository)(http://rosettacode.org/wiki/Category:Python)

•  java2s 网的python范例 (http://www.java2s.com/Code/Python/CatalogPython.htm)

•  Python Cookbook (http://code.activestate.com/recipes/langs/python/)

对于某些种类的问题Python Cookbook提供了许多解决问题的珍贵技巧和诀窍。此网是每个python用户都必读的。

 

问题与解答

•  官方Python Dos and Don'ts (http://docs.python.org/dev/howto/doanddont.html)(注:Dos and Don’ts是 可为与不可为 的意思)

•  官方Python 问与答 (http://docs.python.org/faq/general)

•  Norvig的宝贵的已解答问题列表(http://norvig.com/python-iaq.html)

•  Python面试问答 (http://dev.fyicenter.com/Interview-Questions/Python/index.html)

•  StackOverflow网的python相关问题(http://stackoverflow.com/questions/tagged/python)

 

技巧和诀窍

•  Python技巧和诀窍(http://www.siafoo.net/article/52)

•  使用python的高级软件木工(http://ivory.idyll.org/articles/advanced-swc/)

•  引人入胜的python(Charming Python) (http://gnosis.cx/publish/tech_index_cp.html)是一系列优秀的python相关的文章,作者David Mertz.

 

书籍,文章,教程,视频

逻辑上看完本书应该读读Mark Pilgrim那超棒的Dive Into Python一书(http://www.diveintopython.org/),你可以在线完整阅读。

此书详细的探索了诸如正则表达式,XML处理,web服务,单元测试等内容。

其它有用的资源:

•  ShowMeDo的python视频 (http://showmedo.com/videotutorials/python

•  GoogleTechTalks的python视频 (http://youtube.com/results?searchquery=googletechtalks+python)

•  Awaretek的python教程的综合列表(http://www.awaretek.com/tutorials.html)

•  Effbot的Python Zone (http://effbot.org/zone/)

•  每个Python-URL!邮件尾的链接(http://groups.google.com/group/comp.lang.python.announce/t/37de95ef0326293d)

•  Python Papers (http://pythonpapers.org)

 

讨论组

如果你被某个问题难住了,也不知道找谁求助,那么comp.lang.python讨论组是个提问的好地方。

(http://groups.google.com/group/comp.lang.python/topics)

记住尽量自己解决问题,不行再去发问。

 

新闻

如果你想了解python的最新动态,请关注Official Python Planet (http://planet.python.org) 和Unofficial Python Planet (http://www.planetpython.org).

 

安装库

python包索引(Python Package Index)拥有数量巨大的开源库,你可以在自己的程序中使用它们。(http://pypi.python.org/pypi)

安装和使用这些库,你可以使用Philip J. Eby的优秀的EasyInstall工具。

(http://peak.telecommunity.com/DevCenter/EasyInstall#using-easy-install)。

 

图形软件

如果你想使用python创建自己的图形程序。那么可以使用已绑定到python上的GUI(图形用户界面)库。

绑定允许你在自己的程序中使用这些库,而库本身是用C/C++或其它语言编写的。

使用python你可以选择很多种GUI库:

PyQt

这是绑定到python的Qt工具包,它是创建KDE的基石。

Qt非常易用,功能又很强大,尤其是仰仗于它的Qt Designer与出色的Qt文档。

如果你在创建开源软件(GPL’ed)则PyQt是免费的, 相反创建私营闭源软件的用户就要掏银子买它了。

从Qt4.5开始你同样可以用它创建非GPL软件。

作为入门可以阅读PyQt教程(http://zetcode.com/tutorials/pyqt4/)或者PyQt book (http://www.qtrac.eu/pyqtbook.html).

 

PyGTK

GTK+工具包的python绑定。它是GNOME的基础。

GTK+含有很多奇怪的用法,不过一旦熟悉它你就能够快速创建GUI应用了。其中Glade图形界面设计器是必不可少的。

GTK+的文档仍然完善中。GTK+在linux上工作的很好,但其windows实现仍未完成。

另外使用GTK+你既可以创建开源也可以创建私营软件。

入门可以阅读PyGTK教程(http://www.pygtk.org/tutorial.html)

 

wxPython

这是绑定到python的wxWidgets工具包。

wxPython有一定的学习曲线。但是具有很强的可移植性,可以运行在linux,windows,Mac甚至是嵌入式平台之上。

wxPython拥有很多可用的IDE,其中包括GUI设计器和诸如SPE(Stani的python编辑器)(http://spe.pycs.net)和

wxGlade(http://wxglade.sourceforge.net/)的开发工具。

入门可以阅读wxPython教程(http://zetcode.com/wxpython/)

 

Tkinter

这是现存最老的GUI工具包之一。如果你用过IDLE,它就是一个使用Tkinter编写的程序。

Tkinter没有什么不错的视觉外观,因为它是个守旧派。

Tkinter是可移植的能够运行在Linux/Unix和Windows上。更重要的Tkinter是标准python发布版的一部分。

入门可以阅读Tkinter教程(http://www.pythonware.com/library/tkinter/troduction/)。

更多的GUI库选择,见python官网的GuiProgramming维基页面(http://wiki.python.org/moin/GuiProgramming)

 

GUI工具小结

很不幸,python没有一个标准GUI工具。我建议根据你的情况选择上面的工具。

考虑的第一歌因素是你是否愿意付费使用GUI工具。

第二你是否希望程序只运行在windows或mac或linux还是希望都能运行。

第三对于linux平台,你是一个KDE还是一个GNOME用户呢。

更详细广泛的分析,见Python Papers 第26页卷3问题1(http://archive.pythonpapers.org/ThePythonPapersVolume3Issue1.pdf)

 

各种python实现

一个程序设计语言通常包含两部分 – 语言和软件。语言指出如何编写程序。而软件用来运行我们的程序。

我们一直在用CPython运行我们的程序,之所以称为CPython是因为它是用C语言实现的并且为标准python解释器。

另外还有其它的软件也可以运行python程序:

Jython (http://www.jython.org)

一个运行在java平台的python实现。这意味着你可以在python语言内部使用java库和类,反之亦然。

IronPython (http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython)

一个运行在.NET平台的python实现。即你可以在python语言内部使用java库和类,反之亦然

PyPy (http://codespeak.net/pypy/dist/pypy/doc/home.html)

一个用python写的python实现!

这是一个研究项目,用于使之可以快而容易的改进解释器,因为解释器本身就是用动态语言编写的。(而不是类似上面的C, java或C#等静态语言)

Stackless Python (http://www.tackless.com)

一个专用于基于线程性能的python实现。

 

除此之外还有CLPython(http://common-lisp.net/project/clpython/)一个Common Lisp编写的python实现。

IronMonkey(https://wiki.mozilla.org/Tamarin:IronMonkey)是一个运行在JavaScript解释器之上的IronPython的接口,

这可能意味着你可以使用python(替代JavaScript)编写web浏览器程序(“Ajax”)。

 

以上的每个实现都有自己的擅长领域。

 

小结

现在我们已经来到本书的结尾了。不过据说,结束意味着另一个开始!

你现在是一个满腔热切的python用户,很可能摩拳擦掌准备利用python解决大量问题。

现在你可以让计算机自动完成许多以前无法想象的事情或是编写游戏或是更多更多。

既然如此!那就行动起来大干一场吧!

内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值