Really? Python has magic everywhere and requires methods to take self as an argument. Indentation instead of brackets. It's one big hack. Perl is a much nicer language. The real question is, why would I ever use Python over Perl?
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.
Unlike... Perl?