There isn't, there's just a syntactical difference between class.func(obj, param) and obj.func(param) and Python allows you to use it either way, unlike other languages.
Last I checked, len(), dir(), str(), int(), and other built-in functions could not be used either way. There's one way, and it's completely different from how everything else is handled. This is the sort of strange inconsistent weirdness I'd expect out of Perl.
You *have* to be able to do that kind of thing.
Why? And why is accessing variables in a object directly considered "Pythonic"? I betcha don't know *.
Remember Python is not some kind of cult, different people think differently.
Unfortunately, glorious leader Guido van Rossum sez: While we put "There's only one way to do it" on a T-shirt, mostly to poke fun at Larry Wall's TMTOWTDI, the actual Python Zen rule reads: "There should be one-- and preferably only one -- obvious way to do it." This is the guy designing your language, the same one who wanted to kill lambda, but finally gave up. Seig Heil!
* Hint: Guido ol' boy hasn't done anything about high execution time for method calls. The fanboys never question why it's "pythonic" to directly access object attributes though...