本书最后一章了,其实在第十二天已经看完,但是在西方好像十三比十二这个数更吉利,为了感谢该书作者Swaroop C H,另做笔记记之,感谢带入门,接下去能否有所进步看个人造化。选了张炫图作为本书结束封面,其实书中引用的丘吉尔名言更为妥当,那就将其演讲时的话语作为本篇的结束,作为本人学习Python新的开始:Now this is not the end,it is even not the beginning of the end.But it is,perhaps,the end of the beginning.
What Next(进一步)
学到现在,应该对Python熟练并有安全感了,那么下一步呢?
创建一个你自己的命令行通讯录程序,具备浏览、增、删、改等功能,能查询朋友、家人、同事及他们的信息如Email、电话号码等,而且应该是最近的信息。
如果能写出上述编程,那么就可以宣布自己是一个Python的程序员了,可以发Email给作者表示感谢,我要好好写好这个编程,不负作者厚望才能给他发邮件(O(∩_∩)O)
也可以买书,看了原版书的书价,中文版的真都是良心价了。。。
如果觉得上面这个编程简单,你可以尝试下另外一个:
执行替换命令,这个命令可以用列表文件中提供的字符串来代替另外一个字符串
替换命令说简单也简单,说复杂也复杂,从简单的字符串替换到查找图案(查找模式?)(正则表达式)。
Next Projects(下一个项目)
如果认为上述两个都比较简单,那么你可以尝试写下面这个: https://github.com/thekarangoel/Projects#numbers (the same list is also at Martyr2's Mega Project List).
或者也可以看
- Exercises for Programmers: 57 Challenges to Develop Your Coding Skills
- Intermediate Python Projects.
Example Code(代码举例)
学习编程最好的途径就是撰写大量的代码和阅读大量的代码
- Python Cookbook是一本很有价值的书,里面有通过Python解决某些问题的秘诀和窍门,每个Python使用者应该阅读它.
- Python Module of the Week是另一本优秀的必读书,学习 Standard Library.
Advice(建议)
- The Hitchhiker's Guide to Python!
- The Elements of Python Style
- Python Big Picture
- "Writing Idiomatic Python" ebook (paid)
Videos(视频)
Questions and Answers(问题和答案)
- Official Python Dos and Don'ts
- Official Python FAQ
- Norvig's list of Infrequently Asked Questions
- Python Interview Q & A
- StackOverflow questions tagged with python
Tutorials(辅导材料)
- Hidden features of Python
- What's the one code snippet/python trick/etc did you wish you knew when you learned python?
- Awaretek's comprehensive list of Python tutorials
Discussion(讨论)
如果你有Python问题,并且不知如何去问,你可以去 python-tutor list提问。前提是你尝试自主解决问题完成作业先,并问的聪明点。
News(新闻)
如果你想了解Python的最新情况,Official Python Planet.
Installing libraries(安装库)
在Python Package Index上有大量的开源库可以为我们所用。要安装和使用这些库,我们可以用pip
Creating a Website(创建网站)
学习flask去创建网站
Graphical Software(图形软件)
如果要创建属于自己的图形程序,那么可以使用Python相关联的GUI (Graphical User Interface) library
你可以有很多种选择:Kivy、PyGTK、PyQt、wxPython等,你也可以去GuiProgramming wiki page at the official python website上寻找更多的选择。但是没有单一标准的GUi,可根据以下三方面选择:一是你是否愿意付费、二是运行环境是Linux还是Windows、三是在Linux下的话你是 KDE还是GNOME的使用者。
更多细节和综合分析,请看 'The Python Papers, Volume 3, Issue 1' (PDF)第26页
Various Implementations(多方面实现)
通常编程语言有两部分——语言和软件,语言是你如何去写东西,软件是那个正在运行我们的程序的东西。
我们已经使用CPython 软件来运行我们的程序。被归为CPython,因为是用C 语言写成的,就是我们的经典Python 解释器。
其他还有Jython(java平台)、IronPython(.net平台)、PyPy(python自己实现平台)
还有其它的如CLPython—— 用Lisp 语言写成的Python 解释器,和IronMonkey,是IronPython 的接口运行在JavaScript 解释器之上,意味着你可以使用Python(代替JavaScript) 来写你的网页-浏览器("Ajax")程序。
每一种解释器都有其特殊的应用领域,在这些地方非常有用。
Functional Programming (for advanced readers)
当我们编写更大的程序时,我们要用功能论而不是用类基础,就如我们在面向编程一章中所学。
- Functional Programming Howto by A.M. Kuchling
- Functional programming chapter in 'Dive Into Python' book
- Functional Programming with Python presentation
- Funcy library
- PyToolz library
这已经是本书的最后,但这只是拉开序幕的结束,你已经是一个充满渴望的Python用户
So, get started!
附:
Appendix: FLOSS
NOTE: Please note that this section was written in 2003, so some of this will sound quaint to you :-)
"Free/Libre and Open Source Software", in short, FLOSS is based on the concept of a community, which itself is based on the concept of sharing, and particularly the sharing of knowledge. FLOSS are free for usage, modification and redistribution.
If you have already read this book, then you are already familiar with FLOSS since you have been using Python all along and Python is an open source software!
Here are some examples of FLOSS to give an idea of the kind of things that community sharing and building can create:
Linux: This is a FLOSS OS kernel used in the GNU/Linux operating system. Linux, the kernel, was started by Linus Torvalds as a student. Android is based on Linux. Any website you use these days will mostly be running on Linux.
Ubuntu: This is a community-driven distribution, sponsored by Canonical and it is the most popular GNU/Linux distribution today. It allows you to install a plethora of FLOSS available and all this in an easy-to-use and easy-to-install manner. Best of all, you can just reboot your computer and run GNU/Linux off the CD! This allows you to completely try out the new OS before installing it on your computer. However, Ubuntu is not entirely free software; it contains proprietary drivers, firmware, and applications.
LibreOffice: This is an excellent community-driven and developed office suite with a writer, presentation, spreadsheet and drawing components among other things. It can even open and edit MS Word and MS PowerPoint files with ease. It runs on almost all platforms and is entirely free, libre and open source software.
Mozilla Firefox: This is the best web browser. It is blazingly fast and has gained critical acclaim for its sensible and impressive features. The extensions concept allows any kind of plugins to be used.
Mono: This is an open source implementation of the Microsoft .NET platform. It allows .NET applications to be created and run on GNU/Linux, Windows, FreeBSD, Mac OS and many other platforms as well.
Apache web server: This is the popular open source web server. In fact, it is the most popular web server on the planet! It runs nearly more than half of the websites out there. Yes, that's right - Apache handles more websites than all the competition (including Microsoft IIS) combined.
VLC Player: This is a video player that can play anything from DivX to MP3 to Ogg to VCDs and DVDs to ... who says open source ain't fun? ;-)
This list is just intended to give you a brief idea - there are many more excellent FLOSS out there, such as the Perl language, PHP language, Drupal content management system for websites, PostgreSQL database server, TORCS racing game, KDevelop IDE, Xine - the movie player, VIM editor, Quanta+ editor, Banshee audio player, GIMP image editing program, ... This list could go on forever.
To get the latest buzz in the FLOSS world, check out the following websites:
Visit the following websites for more information on FLOSS:
So, go ahead and explore the vast, free and open world of FLOSS!