私はここで自分の体重をはるかに超えてパンチしていますが、この Python のアマチュアには我慢してください。私は本業の PHP 開発者ですが、この言語にはほとんど触れたことがありません。
私がやろうとしているのは、クラス内のメソッドを呼び出すことです...簡単に聞こえますか? 「自己」が何を指すのか、クラス内およびクラス外でそのようなメソッドを呼び出す正しい手順は何かについて、私はまったく困惑しています。
変数を使用してメソッドを呼び出す方法を誰かが説明してくれませんか。いくつかの 'learn python' サイトでこれを調査し、StackOverflow で検索しようとしましたが、役に立ちませんでした。どんな助けでも大歓迎です。move
RIGHT
次のクラスは、ターミナル GUI (urwid) によってアクセスされる Scott の Python スクリプトで機能します。
私が取り組んでいる関数は、Scott Weston のミサイル ランチャー Python スクリプトで、これを PHP Web サーバーに接続しようとしています。
class MissileDevice:
INITA = (85, 83, 66, 67, 0, 0, 4, 0)
INITB = (85, 83, 66, 67, 0, 64, 2, 0)
CMDFILL = ( 8, 8,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0)
STOP = ( 0, 0, 0, 0, 0, 0)
LEFT = ( 0, 1, 0, 0, 0, 0)
RIGHT = ( 0, 0, 1, 0, 0, 0)
UP = ( 0, 0, 0, 1, 0, 0)
DOWN = ( 0, 0, 0, 0, 1, 0)
LEFTUP = ( 0, 1, 0, 1, 0, 0)
RIGHTUP = ( 0, 0, 1, 1, 0, 0)
LEFTDOWN = ( 0, 1, 0, 0, 1, 0)
RIGHTDOWN = ( 0, 0, 1, 0, 1, 0)
FIRE = ( 0, 0, 0, 0, 0, 1)
def __init__(self, battery):
try:
self.dev=UsbDevice(0x1130, 0x0202, battery)
self.dev.open()
self.dev.handle.reset()
except NoMissilesError, e:
raise NoMissilesError()
def move(self, direction):
self.dev.handle.controlMsg(0x21, 0x09, self.INITA, 0x02, 0x01)
self.dev.handle.controlMsg(0x21, 0x09, self.INITB, 0x02, 0x01)
self.dev.handle.controlMsg(0x21, 0x09, direction+self.CMDFILL, 0x02, 0x01)