Demande d'explication d'une ligne de code

Fermé
Gerard.isa Messages postés 100 Date d'inscription samedi 24 septembre 2016 Statut Membre Dernière intervention 14 mars 2024 - Modifié le 17 déc. 2018 à 09:56
Jithel Messages postés 843 Date d'inscription mercredi 20 juin 2018 Statut Membre Dernière intervention 31 août 2021 - 18 déc. 2018 à 10:31
Bonjour,
Dans ce petit code que j'ai récupéré, je ne comprend pas la ligne (20) "return New_game" (à la fin du code)
Pourrait-on m'expliquer ce que fait cette ligne et qu'est-ce que ce "return" ?
Il est indiqué en commentaire qu'elle envoie l'affichage mais je n'en comprend pas le mécanisme.
Merci de votre aide.

Voici le code:
from kivy.app import App
from kivy.core.window import Window
from kivy.core.window import WindowBase
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.image import Image
#import ipdb; ipdb.set_trace()

class Jeu(FloatLayout):
    def debut(self):
        #On recupere la taille de l'ecran:
        self.size=Window.size
        #Une image de fond:
        self.add_widget(Image(source='fond1.jpg',allow_stretch=True,keep_ratio=False))

class LapinsApp(App):
    def build(self):
        New_game=Jeu()#Creation du jeu
        New_game.debut()#Initialisation du jeu
        <bold>return New_game</bold>#Envoie de l'affichage

if __name__ == '__main__':
    LapinsApp().run()


Configuration: Windows / Firefox 64.0

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

3 réponses

Jithel Messages postés 843 Date d'inscription mercredi 20 juin 2018 Statut Membre Dernière intervention 31 août 2021 171
16 déc. 2018 à 23:55
Le return permet de renvoyer une instance de la classe Jeu. Elle est ensuite utilisée dans le main pour lancer le jeu (fonction run)
0
Gerard.isa Messages postés 100 Date d'inscription samedi 24 septembre 2016 Statut Membre Dernière intervention 14 mars 2024 2
17 déc. 2018 à 00:06
Salut,

et merci de ton aide.

A ce stade je me rend compte que je n'ai pas compris non plus la ligne
if __name__ == '__main__':
LapinsApp().run()
Je pensai que le code démarrait de là. Vu ta réponse ce ne serai pas le cas ?
Difficile de trouver des explications
0
Jithel Messages postés 843 Date d'inscription mercredi 20 juin 2018 Statut Membre Dernière intervention 31 août 2021 171
17 déc. 2018 à 00:34
Si bien sûr. Le if est le point d'entrée du code. C'est la première instruction de code traitée (hormis les import). Ensuite, c'est LapinsApp().run() soit la méthode run de la class Jeu. Le code démarre bien de là
0
Gerard.isa Messages postés 100 Date d'inscription samedi 24 septembre 2016 Statut Membre Dernière intervention 14 mars 2024 2
17 déc. 2018 à 03:02
ok,

mais Je suis tout de mème perdu.

Lorsque tu dis "Le return permet de renvoyer une instance de la classe Jeu"
Il renvoie une instance à qui ?
et pourquoi le commentaire de cette ligne dit : "Envoie de l'affichage"
0
Jithel Messages postés 843 Date d'inscription mercredi 20 juin 2018 Statut Membre Dernière intervention 31 août 2021 171
18 déc. 2018 à 10:31
Jeu est une classe qui semble être responsable de l'affichage. Pour utiliser une classe, il faut en premier lieu l'instancier (commentaire Creation du jeu). Ensuite, tu utilises un certain nombre de méthodes de la classe (debut et run notamment). Cette étape est facultative et dépend de l'implémentation de la classe.

Le return renvoie une instance de la classe Jeu à ton programme pour pouvoir utiliser les méthodes qui sont contenues dedans (debut et run).
0