<blockquote>
<p>Could someone explain to me, how to call the move method with the variable RIGHT</p>
</blockquote>
<pre><code>>>> myMissile = MissileDevice(myBattery) # looks like you need a battery, don't know what that is, you figure it out.
>>> myMissile.move(MissileDevice.RIGHT)
</code></pre>
<p>如果除了python之外,你还用其他语言编写了类,那么</p>
<pre><code>class Foo:
bar = "baz"
</code></pre>
<p>可能不熟悉。在python中,类是对象的工厂,但它本身就是对象;在其作用域中定义的变量附加到<em>类</em>中,而不是类返回的实例。要引用上面的<code>bar</code>,只需调用它<code>Foo.bar</code>;还可以通过类的实例访问类属性,如<code>Foo().bar</code>。</p>
<hr/>
<blockquote>
<p>Im utterly baffled about what 'self' refers too,</p>
</blockquote>
<pre><code>>>> class Foo:
... def quux(self):
... print self
... print self.bar
... bar = 'baz'
...
>>> Foo.quux
<unbound method Foo.quux>
>>> Foo.bar
'baz'
>>> f = Foo()
>>> f.bar
'baz'
>>> f
<__main__.Foo instance at 0x0286A058>
>>> f.quux
<bound method Foo.quux of <__main__.Foo instance at 0x0286A058>>
>>> f.quux()
<__main__.Foo instance at 0x0286A058>
baz
>>>
</code></pre>
<p>当您在python对象上设置属性acecss时,解释器会注意到,当查找的属性在类上并且是函数时,它应该返回一个“绑定”方法,而不是函数本身。所有这一切只会安排将实例作为第一个参数传递。</p>