What in Python is "magical"? The fact that methods take a "self" argument is a result of it not being magical.
Here's your magic methods and properties: http://www.rafekettler.com/magicmethods.html
Those magic methods kind of remind me of clever hacks while coding in PHP.
Self is one of those things, if you wanted to you could easily add another instance variable, just implement getattr and have it return a partial function. Although I will admit it is one area which does cause more than its fair share of errors, but I prefer it to Ruby's methodology.