I’ve been working on learning Python lately and there is a boatload of good information out there that is scattered all over the Internet. Luckily in the spirit of open source software, most of the information is free. Some of it can be had in more convenient packaging for a low price alternatively. Personally, my primary focus is Python 3.0 since that is the future and I don’t expect to be working on any legacy Python code before I learn Python much, much better. By the time I get to that point of confidence I’m sure I’ll be familiar with the nuances of Python 2.6-2.7 though. Python 2.7 is the last major release of the Python 2.0 series as of this writing. The developers intend to do bug fixes for 2-5 more years but there will be no new features added. If you insist on using 2.7 or 3.x is not available, you are not totally S.O.L. though. There is a library called “future” that has many features from the newer series so you’ll be able to use them in your 2.x code. Anyways, on with some of the resources…
I’m heavy into podcasts since it’s something constructive I can listen to while cooking dinner, driving, etc. There happen to be three great Python podcasts out there that I know of(if you know of any other current ones, let me know). Most of the resources that I am going to share with you below were parsed by me from listening to these podcasts.
Python 411 - The first one I checked out was Python 411. This one is a one-man show but he does a great job keeping it interesting by interviewing developers and other folks that use Python in their day to day jobs. He branches off into scientific and sometimes philosophical realms but it’s all going to be interesting too the average nerd who is interested in learning Python anyhow.
From Python Import Podcast - This was the second Python podcast I discovered. It’s relatively new to the scene and features 3 slightly jaded developers who are obviously good friends aside from coworkers. They tend to rant on some higher level topics but I think it’s valuable to listen to anyhow if you are interested in taking Python further than just a hobby.
A Little Bit of Python – This podcast features several core pillars of the Python community and they discuss all kinds of topics from cons to newbie items. There are a few good interviews as well with some other large names in the Python community. If Guido were to come onto a podcast, this would probably be the one. As a bonus, this podcast has a bit of European flair as well.
Unfortunately, more than just podcasts will be required to learn Python. There are PLENTY of great books out there but most of them are still for Python 2.x. Here are a few resources that I have managed to hunt down for Python 3.
Python Docs – The obvious place to go is the official Python docs and if you look in there, you will see the official Python Tutorial. If you have an iPod Touch, iPhone or iPad, you can also purchase(from the app store for $.99) an offline version of the Python 2.6 docs. Even though it’s for 2.6, it’s still worth having even if you are focused on Python 3.x.
Learning Python by Mark Lutz – I have seen good and bad reviews of this book but I personally think it’s a great place to start. The bad is that there is a lot of repetition and he teaches you the wrong way to do things before teaching you the correct way but on the converse, it’s good to know that there are so many ways to do things in Python since it can spark your creativity if you are not a veteran developer. If you are very experienced in some other language, perhaps you’ll find this book too slow. For me, it’s been mostly a good read. SOME of the examples in the book are the most clear cut ones I can find on there topics anywhere. If you have an iOS device, you can purchase a standalone e-version of the book for under $5.
If you learn better by watching it done, this might be just the ticket. There are several excellent Python specific video sites out there so it’s worth a bit of your time to check out some of the videos.
Showmedo – This site was started by a guy that was trying to put together some distance learning materials for a company. The videos are all provided by individuals and are all rated and monitored for quality. This site doesn’t have EVERYTHING that I’ve looked for but there is a lot of good info here. Be aware that SOME(not many) of the videos cost money to watch.
Python Miro Community – This site has video archives of several pycons on top of several other categorized videos covering other Python-related subjects. I just found this site as of today so I have not had time to make a quality assessment yet but the interface looks great and the some of the categories look quite promising.
If you learn better by doing, this is something you should check out.
Python Koans – The Python Koans are based on the Ruby Koans. What’s a Koan? According to the wiki, “It consists of a story, dialogue, question, or statement, the meaning of which cannot be understood by rational thinking but may be accessible through intuition“. That describes the theme of the koans but in practice, it’s a series of tests build upon each other. So when you run the Koan, it will fail. You will then need to jump into the code and figure out what is wrong with it to make it pass the test. There are MANY MANY tests here. Even if you are a cracker jack Python wiz, it would probably still take you 2-3 hours to plow through the Koans. They are available for Python 2 and Python 3. When you download the package, you get both. The Python Koans are probably the quickest way to jump into coding some Python. The tests start out at a very basic, beginner level and if you pay attention to HOW the tests fail, you will see clues to help you succeed.
O’Reilly 3-part Python certificate course – This is a 4-part course(at $400 per part) that is offered remotely and somewhat interactively by the O’Reilly School of Technology. When you complete the third part of the course, you will receive a certification in Python from the University of Illinois. I cannot vouch for this course since I have not taken it but I am certainly considering it. The price is a little steep but still MUCH cheaper than the one offered locally to me by the University of Washington. The course is brand new so it focuses on Python 3. I looked around online for some reviews and the O’Reilly School has had some mixed reviews. Most of them stated the the material was outdated(won’t be a problem here) or that the course was not challenging enough(ymmv). Whatever the case, at the end, you will receive a certification for what it’s worth.
Python Meetups – There are 95 groups in 60 cities in 12 countries. Surely you are near one of these. I have not gone to one yet but I do look forward to it. There are 3 groups in the Seattle area alone!