我在这里的重量超过了我的体重,但请耐心等待这个 Python 业余爱好者。我是一名专业的 PHP 开发人员,以前几乎没有接触过这种语言。
我想要做的是在一个类中调用一个方法......听起来很简单吗?我对“自我”指的是什么以及在类内和类外调用这种方法的正确过程是什么感到完全困惑。
有人可以向我解释一下如何move
使用变量调用该方法RIGHT
。我曾尝试在几个“学习 python”网站上对此进行研究,并在 StackOverflow 上进行搜索,但无济于事。任何帮助将不胜感激。
以下类在 Scott 的 Python 脚本中工作,该脚本由终端 GUI (urwid) 访问。
我正在使用的函数是 Scott Weston 的导弹发射器 Python 脚本,我正在尝试将其挂接到 PHP 网络服务器中。
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)