<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.darenet.org/skins/common/feed.css?12"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Python en:What Next - Revision history</title>
		<link>http://wiki.darenet.org/index.php?title=Python_en:What_Next&amp;action=history</link>
		<description>Revision history for this page on the wiki</description>
		<language>en</language>
		<generator>MediaWiki 1.15.1</generator>
		<lastBuildDate>Thu, 21 May 2026 04:51:29 GMT</lastBuildDate>
		<item>
			<title>Admin:&amp;#32;1 revision</title>
			<link>http://wiki.darenet.org/index.php?title=Python_en:What_Next&amp;diff=5558&amp;oldid=prev</link>
			<description>&lt;p&gt;1 revision&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:52, 3 April 2010&lt;/td&gt;
		&lt;/tr&gt;
		&lt;!-- diff generator: internal 2026-05-21 04:08:15 --&gt;

&lt;!-- diff cache key wiki:diff:version:1.11a:oldid:5557:newid:5558 --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 03 Apr 2010 02:52:49 GMT</pubDate>			<dc:creator>Admin</dc:creator>			<comments>http://wiki.darenet.org/Talk:Python_en:What_Next</comments>		</item>
		<item>
			<title>141.76.2.11:&amp;#32;/* Graphical Software */ Qt is LGPL starting with Qt 4.5</title>
			<link>http://wiki.darenet.org/index.php?title=Python_en:What_Next&amp;diff=5557&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Graphical Software:&amp;#32;&lt;/span&gt; Qt is LGPL starting with Qt 4.5&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;div class=&amp;quot;python book&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have read this book thoroughly till now and practiced writing a lot of programs, then you must have become comfortable and familiar with Python. You have probably created some Python programs to try out stuff and to exercise your Python skills as well. If you have not done it already, you should. The question now is 'What Next?'.&lt;br /&gt;
&lt;br /&gt;
I would suggest that you tackle this problem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Create your own command-line ''address-book'' program using which you can browse, add, modify, delete or search for your contacts such as friends, family and colleagues and their information such as email address and/or phone number. Details must be stored for later retrieval.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is fairly easy if you think about it in terms of all the various stuff that we have come across till now. If you still want directions on how to proceed, then here's a hint.&lt;br /&gt;
&lt;br /&gt;
; Hint (Don't read)&lt;br /&gt;
: Create a class to represent the person's information. Use a dictionary to store person objects with their name as the key. Use the pickle module to store the objects persistently on your hard disk. Use the dictionary built-in methods to add, delete and modify the persons.&lt;br /&gt;
&lt;br /&gt;
Once you are able to do this, you can claim to be a Python programmer. Now, immediately [http://www.swaroopch.com/contact/ send me a mail] thanking me for this great book ;-) . This step is optional but recommended. Also, please consider [[Notes:Community_Portal|making a donation, contributing improvements or volunteering translations]] to support the continued development of this book.&lt;br /&gt;
&lt;br /&gt;
If you found that program easy, here's another one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Implement the [http://unixhelp.ed.ac.uk/CGI/man-cgi?replace replace command]. This command will replace one string with another in the list of files provided.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The replace command can be as simple or as sophisticated as you wish, from simple string substitution to looking for patterns (regular expressions).&lt;br /&gt;
&lt;br /&gt;
After that, here are some ways to continue your journey with Python:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Translators: Please feel free to add your language-specific links and URLs that can be helpful for your native language reader.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Code ==&lt;br /&gt;
&lt;br /&gt;
The best way to learn a programming language is to write a lot of code and read a lot of code:&lt;br /&gt;
&lt;br /&gt;
* [http://pleac.sourceforge.net/pleac_python/index.html The PLEAC project]&lt;br /&gt;
* [http://www.rosettacode.org/wiki/Category:Python Rosetta code repository]&lt;br /&gt;
* [http://www.java2s.com/Code/Python/CatalogPython.htm Python examples at java2s]&lt;br /&gt;
* [http://code.activestate.com/recipes/langs/python/ Python Cookbook] is an extremely valuable collection of recipes or tips on how to solve certain kinds of problems using Python. This is a must-read for every Python user.&lt;br /&gt;
&lt;br /&gt;
== Questions and Answers ==&lt;br /&gt;
&lt;br /&gt;
* [http://docs.python.org/dev/howto/doanddont.html Official Python Dos and Don'ts]&lt;br /&gt;
* [http://www.python.org/doc/faq/general/ Official Python FAQ]&lt;br /&gt;
* [http://norvig.com/python-iaq.html Norvig's list of Infrequently Asked Questions]&lt;br /&gt;
* [http://dev.fyicenter.com/Interview-Questions/Python/index.html Python Interview Q &amp;amp; A]&lt;br /&gt;
* [http://beta.stackoverflow.com/questions/tagged/python StackOverflow questions tagged with python]&lt;br /&gt;
&lt;br /&gt;
== Tips and Tricks ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.siafoo.net/article/52 Python Tips &amp;amp; Tricks]&lt;br /&gt;
* [http://ivory.idyll.org/articles/advanced-swc/ Advanced Software Carpentry using Python]&lt;br /&gt;
* [http://gnosis.cx/publish/tech_index_cp.html Charming Python] is an excellent series of Python-related articles by David Mertz.&lt;br /&gt;
&lt;br /&gt;
== Books, Papers, Tutorials, Videos ==&lt;br /&gt;
&lt;br /&gt;
The logical next step after this book is to read Mark Pilgrim's awesome [http://www.diveintopython.org Dive Into Python] book which you can read fully online as well. The Dive Into Python book explores topics such as regular expressions, XML processing, web services, unit testing, etc. in detail.&lt;br /&gt;
&lt;br /&gt;
Other useful resources are:&lt;br /&gt;
&lt;br /&gt;
* [http://showmedo.com/videos/python ShowMeDo videos for Python]&lt;br /&gt;
* [http://youtube.com/results?search_query=googletechtalks+python GoogleTechTalks videos on Python]&lt;br /&gt;
* [http://www.awaretek.com/tutorials.html Awaretek's comprehensive list of Python tutorials]&lt;br /&gt;
* [http://effbot.org/zone/ The Effbot's Python Zone]&lt;br /&gt;
* [http://groups.google.com/group/comp.lang.python.announce/t/37de95ef0326293d Links at the end of every Python-URL! email]&lt;br /&gt;
* [http://pythonpapers.org Python Papers]&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
&lt;br /&gt;
If you are stuck with a Python problem, and don't know whom to ask, then the [http://groups.google.com/group/comp.lang.python/topics comp.lang.python discussion group] is the best place to ask your question.&lt;br /&gt;
&lt;br /&gt;
Make sure you do your homework and have tried solving the problem yourself first.&lt;br /&gt;
&lt;br /&gt;
== News ==&lt;br /&gt;
&lt;br /&gt;
If you want to learn what is the latest in the world of Python, then follow the [http://planet.python.org Official Python Planet] and/or the [http://www.planetpython.org Unofficial Python Planet].&lt;br /&gt;
&lt;br /&gt;
== Installing libraries ==&lt;br /&gt;
&lt;br /&gt;
There are a huge number of open source libraries at the [http://pypi.python.org/pypi Python Package Index] which you can use in your own programs.&lt;br /&gt;
&lt;br /&gt;
To install and use these libraries, you can use Philip J. Eby's excellent [http://peak.telecommunity.com/DevCenter/EasyInstall#using-easy-install EasyInstall tool].&lt;br /&gt;
&lt;br /&gt;
== Graphical Software ==&lt;br /&gt;
&lt;br /&gt;
Suppose you want to create your own graphical programs using Python. This can be done using a GUI (Graphical User Interface) library with their Python bindings. Bindings are what allow you to write programs in Python and use the libraries which are themselves written in C or C++ or other languages.&lt;br /&gt;
&lt;br /&gt;
There are lots of choices for GUI using Python:&lt;br /&gt;
&lt;br /&gt;
; PyQt&lt;br /&gt;
: This is the Python binding for the Qt toolkit which is the foundation upon which the KDE is built. Qt is extremely easy to use and very powerful especially due to the Qt Designer and the amazing Qt documentation. PyQt is free if you want to create open source (GPL'ed) software and you need to buy it if you want to create proprietary closed source software. Starting with Qt 4.5 you can use it to create non-GPL software as well. To get started, read the [http://zetcode.com/tutorials/pyqt4/ PyQt tutorial] or the [http://www.qtrac.eu/pyqtbook.html PyQt book].&lt;br /&gt;
&lt;br /&gt;
; PyGTK&lt;br /&gt;
: This is the Python binding for the GTK+ toolkit which is the foundation upon which GNOME is built. GTK+ has many quirks in usage but once you become comfortable, you can create GUI apps fast. The Glade graphical interface designer is indispensable. The documentation is yet to improve. GTK+ works well on Linux but its port to Windows is incomplete. You can create both free as well as proprietary software using GTK+. To get started, read the [http://www.pygtk.org/tutorial.html PyGTK tutorial].&lt;br /&gt;
&lt;br /&gt;
; wxPython&lt;br /&gt;
: This is the Python bindings for the wxWidgets toolkit. wxPython has a learning curve associated with it. However, it is very portable and runs on Linux, Windows, Mac and even embedded platforms. There are many IDEs available for wxPython which include GUI designers as well such as [http://spe.pycs.net/ SPE (Stani's Python Editor)] and the [http://wxglade.sourceforge.net/ wxGlade] GUI builder. You can create free as well as proprietary software using wxPython. To get started, read the [http://zetcode.com/wxpython/ wxPython tutorial].&lt;br /&gt;
&lt;br /&gt;
; TkInter&lt;br /&gt;
: This is one of the oldest GUI toolkits in existence. If you have used IDLE, you have seen a TkInter program at work. It doesn't have one of the best look &amp;amp; feel because it has an old-school look to it. TkInter is portable and works on both Linux/Unix as well as Windows. Importantly, TkInter is part of the standard Python distribution. To get started, read the [http://www.pythonware.com/library/tkinter/introduction/ Tkinter tutorial].&lt;br /&gt;
&lt;br /&gt;
For more choices, see the [http://www.python.org/cgi-bin/moinmoin/GuiProgramming GuiProgramming wiki page at the official python website].&lt;br /&gt;
&lt;br /&gt;
=== Summary of GUI Tools ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, there is no one standard GUI tool for Python. I suggest that you choose one of the above tools depending on your situation. The first factor is whether you are willing to pay to use any of the GUI tools. The second factor is whether you want the program to run only on Windows or on Mac and Linux or all of them. The third factor, if Linux is a chosen platform, is whether you are a KDE or GNOME user on Linux.&lt;br /&gt;
&lt;br /&gt;
For a more detailed and comprehensive analysis, see Page 26 of the [http://archive.pythonpapers.org/ThePythonPapersVolume3Issue1.pdf The Python Papers, Volume 3, Issue 1].&lt;br /&gt;
&lt;br /&gt;
== Various Implementations ==&lt;br /&gt;
&lt;br /&gt;
There are usually two parts a programming language - the language and the software. A language is ''how'' you write something. The software is ''what'' actually runs our programs.&lt;br /&gt;
&lt;br /&gt;
We have been using the ''CPython'' software to run our programs. It is referred to as CPython because it is written in the C language and is the ''Classical Python interpreter''.&lt;br /&gt;
&lt;br /&gt;
There are also other software that can run your Python programs:&lt;br /&gt;
&lt;br /&gt;
; [http://www.jython.org Jython]&lt;br /&gt;
: A Python implementation that runs on the Java platform. This means you can use Java libraries and classes from within Python language and vice-versa.&lt;br /&gt;
; [http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython IronPython]&lt;br /&gt;
: A Python implementation that runs on the .NET platform. This means you can use .NET libraries and classes from within Python language and vice-versa.&lt;br /&gt;
; [http://codespeak.net/pypy/dist/pypy/doc/home.html PyPy]&lt;br /&gt;
: A Python implementation written in Python! This is a research project to make it fast and easy to improve the interpreter since the interpreter itself is written in a dynamic language (as opposed to static languages such as C, Java or C# in the above three implementations)&lt;br /&gt;
; [http://www.stackless.com Stackless Python]&lt;br /&gt;
: A Python implementation that is specialized for thread-based performance.&lt;br /&gt;
&lt;br /&gt;
There are also others such as [http://common-lisp.net/project/clpython/ CLPython] - a Python implementation written in Common Lisp and [http://wiki.mozilla.org/Tamarin:IronMonkey IronMonkey] which is a port of IronPython to work on top of a JavaScript interpreter which could mean that you can use Python (instead of JavaScript) to write your web-browser (&amp;quot;Ajax&amp;quot;) programs.&lt;br /&gt;
&lt;br /&gt;
Each of these implementations have their specialized areas where they are useful.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
We have now come to the end of this book but, as they say, this is the ''the beginning of the end''!. You are now an avid Python user and you are no doubt ready to solve many problems using Python. You can start automating your computer to do all kinds of previously unimaginable things or write your own games and much much more. So, get started!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;paging&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;prev&amp;quot;&amp;gt;[[Python_en:More|Previous]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;next&amp;quot;&amp;gt;[[Python_en:Appendix FLOSS|Next]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:A Byte of Python|What Next]]&lt;/div&gt;</description>
			<pubDate>Tue, 10 Feb 2009 19:39:05 GMT</pubDate>			<dc:creator>141.76.2.11</dc:creator>			<comments>http://wiki.darenet.org/Talk:Python_en:What_Next</comments>		</item>
	</channel>
</rss>