Why do you need explicitly have the "self" argument into a Python method?
<p>When defining a method on a class in Python, it looks something like this:</p>

<pre><code>class MyClass(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y
</code></pre>

<p>But in some other languages, such as C#, you have a reference to the object that the method is bound to with the "this" keyword without declaring it as an argument in the method prototype.  </p>

<p>Was this an intentional language design decision in Python or are there some implementation details that require the passing of "self" as an argument?</p>
