This article goes beyond the basics of object orientation in Python. It covers the interesting things you can do with new-style classes, including properties and attributes, as well as other useful information.
If you're reading this, you should be familiar with basic object orientation in Python because this article assumes that you're familiar with the basics of objects. In this article, we'll build on basic object orientation and introduce some newer (by that, I mean a few years old; nothing new came out while you were asleep) features of Python, some of them pretty powerful.
If you come from other languages, some of these new features implemented may or may not be familiar to you. You also may or may not find a use for some of these new features in many of your Python scripts, but they are certainly worth taking a look at because they can potentially add a new level to your code, allowing more flexibility and efficiency.
Before you go any further, you may want to read an earlier article I wrote about object orientation in Python. You can find that piece here.
With the boring front matter covered, let's get started.