-1
votes

Comment utiliser une variable d'une classe dans une autre dans Python?

Je suis nouveau à Python et j'essaie d'utiliser une variable d'une classe dans une autre classe, mais je ne comprends pas, je ne comprends pas comment le faire.

J'ai écrit le code ci-dessous. Inside de World Class, j'ai une boucle de temps à l'intérieur de la boucle, il est Deltatime. Je veux passer Deltatime au test de la classe où j'utilise Deltatime * 2.

Comment puis-je faire cela?

J'ai cherché autour de moi mais je n'ai pas compris l'explication. < / p> xxx

voici le monde de la classe xxx


0 commentaires

3 Réponses :


0
votes

Vous devez créer l'objet de test dans le code: xxx pré>

et insérer l'objet à la fonction Exécuter: p>

class Name:


0 commentaires

0
votes

Je pense que vous parlez de Composition de classe .

import time as tm

class Test():
  def __init__(self):
    self.v = 10

  def use_world_deltatime(self, delta_time):
    v += self.deltaTime * 2
    print(v)

class World():
    def __init__(self):
        self.test = Test()

    def run (self):
        while True:                 # Main real-time simulation loop
            # BEGIN mandatory statements
            self.oldTime = self.time
            self.time = tm.time ()  # The only place where the realtime clock is repeatedly queried
            self.deltaTime = self.time - self.oldTime
            # END mandatory statements
            
            # ... other code, using objects that are in the world, like a racetrack and cars
            self.test.use_world_deltatime(self.deltaTime)
            print ('deltaTime ', self.deltaTime)
            self.screen.update ()
            tm.sleep (0.02)         # Needed to free up processor for other tasks like I/O

world = World()

world.run()


0 commentaires

1
votes

Vous passez le auto à Test lorsque vous faites self.test = test (auto) . Mais vous n'avez pas ajouté cela comme un paramètre dans le test .__ init __ méthode. Il devrait être: xxx

mais lorsque vous appelez test (auto) , vous n'avez pas renseigné self.delatime . Vous devez l'utiliser à partir d'une méthode différente de la classe de test que vous appelez à partir du pendant que boucle. xxx

Appelez ensuite test.display_time () à partir de world.run ()


0 commentaires