Python also offers a few more advanced features such as decorators, descriptors or metaclasses. While it is really simple to use a decorator, writing one yourself can become a bit more involved. This is one of the things that I like about Python: Simple things are simple and complex things are still possible with reasonable effort. I think doing things pythonically also means applying more complex approaches, if appropriate, to make things simpler in the end. I think we can distinguish between an active use of advanced features like writing a decorator and a passive use like applying a decorator to a function.
I have talked to many people who have used Python for years. A majority of them actively used only a few of the advanced features, if at all. Obviously, you can write useful software without diving too deep into Python. But these advanced features can help to make your programs better.
I think it is well worth investing in learning more about what Python offers. It will help you to better understand how Python works. Some of the features are used by frameworks. Knowing how a framework works under the hood can be helpful, especially when something doesn't work as expected. In addition, it is always good to challenge your mind a bit with new knowledge.
I will be teaching the course Advanced Python at EuroPython. This very intensive one-day training covers:
- Iterators and Generators
- Context managers
The objective is for you to understand the general concepts but also to see and apply hands-on examples for all topics. Furthermore, you will get a feeling when a complex solution helps you make your code easier to use and when it is better to keep it simple.
What are the prerequisites? You should have used Python for a while and consider yourself a intermediate level Python programmer. If you know all things our Python for Programmers course covers, you will be able to take full advantage of this advanced course. Bring your laptop with Python 2.7 or 3.2 installed and get a good sleep the night before.
When: Saturday, July 7, 2012. That is one day after the EuroPython conference talks and tutorials.
Where: At the EuroPython venue in Florence.
Note: It requires an extra registration.