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. P>
Comment puis-je faire cela? P>
J'ai cherché autour de moi mais je n'ai pas compris l'explication. < / p> voici le monde de la classe p>
3 Réponses :
Vous devez créer l'objet de test dans le code: et insérer l'objet à la fonction Exécuter: p> class Name:
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()
Vous passez le mais lorsque vous appelez Appelez ensuite auto code> à Test code> lorsque vous faites self.test = test (auto) code>. Mais vous n'avez pas ajouté cela comme un paramètre dans le test .__ init __ code> méthode. Il devrait être: test (auto) code>, vous n'avez pas renseigné self.delatime code>. Vous devez l'utiliser à partir d'une méthode différente de la classe code> de test code> que vous appelez à partir du pendant que code> boucle. P> test.display_time () code> à partir de world.run () code> p> p> p>