Python appel de méthode dans la classe

Je suis poinçonnage manière au-dessus de mon poids ici, mais s'il vous plaît garder avec ce Python amateur. Je suis un développeur PHP par le commerce et j'ai à peine touché cette langue avant de.

Ce que j'essaie de faire est d'appeler une méthode dans une classe semble assez simple...? Je suis complètement perplexe à propos de ce " moi " se réfère, et quelle est la procédure correcte pour appeler cette méthode à l'intérieur d'une classe et en dehors de la classe.

Quelqu'un pourrait-il expliquer pour moi, comment appeler la move méthode avec la variable RIGHT. J'ai essayé la recherche de ce sur plusieurs " apprendre le langage python les sites et les recherches sur StackOverflow, mais en vain. Toute aide sera appréciée.

La classe suivante œuvres de Scott script Python qui est accessible par un terminal GRAPHIQUE (urwid).

La fonction je travaille est un Scott Weston lanceur de missiles script Python, que je suis en train de crochet dans PHP serveur 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)
  • Que pensez-vous est le problème avec votre code? On dirait que vous êtes en utilisant self droit.
  • Ce n'est pas sur le code ci-dessus, c'est une classe de prises de code de travail. Im demandant une plus élémentaires question; comment appeler une méthode dans une classe.
  • J'ai demandé comment faire pour appeler une méthode d'une classe, à l'aide de cet exemple donné. Tous comme indiqué ci-dessus. J'ai été après une explication plutôt qu'une solution.
  • j'ai été confrontée au même problème, alors que la création de la classe. J'ai utilisé l'auto.<methodName> pour appeler la méthode à l'intérieur de la classe. en dehors de la classe <ObjectName>.<MethodName>. J'espère que vous avez le point
InformationsquelleAutor kirgy | 2012-12-29