Basic question on Object Oriented programming in Python
<p>I'm having a hard time grasping the variables inside a method of a Class, and I was wondering if someone could please explain how these 'work' to help me better understand it. </p>

<p>For example:</p>

<p><strong>inside Time class</strong></p>

<pre><code>def __init__(self, hour,minute, second)
    self.hour = hour
    self.minute = minute
    self.second = second

def print_time(self):
    print '%.2d:%.2d:%.2d' % (self.hour, self.minute, self.second)

time = Time(h,m,s)
time.print_time()
</code></pre>

<p>Where does the change in variable for 'self' occur? Why isn't the method called (what would seem more straight-forward) as: method(var1(subject), var2, var3, var4)? instead of subject.method(var2, var3, var4)?  (I know my understanding of this is shaky at best, so please correct me if any of my terms are also incorrect).</p>

<p>An additional example would also be extremely helpful. Thank you.</p>
