Variables dynamiques vs dictionnaire pour la création de boutons
J'aurais une petite question.
Lors de la création de la boucle pour générer les boutons, il est dit qu'un dictionnaire doit être créé pour que tous les boutons soient affectés à une clé et ne soient pas écrasés.
Aurait-on cependant pu créer des variables dynamiques directement dans la boucle avec la fonction globals(), et nous épargner ainsi la création d'un dictionnaire, comme indiqué ci-dessous ?

Dans le cas où cela serait possible, quelle est cependant la meilleure solution ?
Salut,
Toucher et manipuler l'espace global peut rendre le code assez complexe.
La bonne pratique en PySide (ou en Python en général) est de stocker tes boutons dans un dictionnaire (ex : self.buttons[button_text] = button) car cela garde ton code propre, lisible, sans effet de bord.
Surtout dans une application complexe, ça peut vite devenir dangereux, tu vas te retrouver avec un espace global qui va être source de comportements innatendus.
Gabriel
Merci pour ta réponse et pour ta réactivité, Gabriel.
Je vais donc faire en sorte d'utiliser un dictionnaire pour stocker les boutons, comme indiqué dans la formation.
Il est vrai qu'en gérant des variables directement dans l'espace global, même si ce n'est pas le cas dans la situation présente, on peut risquer sans faire attention de faire des erreurs et d'écraser des variables avec des imports de modules ou de fonctions. En plus, je te rejoins sur le fait que ça moins le code moins intelligible et moins lisible.
Fethi
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte