0
votes

Comment passer des paramètres aux fonctions de Python

J'ai ce programme simple que j'ai écrit afin que je puisse mieux comprendre la fonction "retour" et comment passer une valeur d'une fonction à une autre. Tout ce programme est de passer la valeur de ButTontwo = 2 à la fonction Button_One_Function, de sorte que si le bouton deux est enfoncé d'abord alors que l'on ne fait rien.Je pensé que je pouvais le faire sans utiliser une déclaration globale - y a-t-il une façon d'écrire le code ci-dessous sans utiliser global? J'ai essayé de le faire en mettant la valeur de boutontwo dans les parenthèses Button_One_Function, mais cela n'a pas fonctionné. Merci pour des conseils xxx


4 commentaires

Est-ce que cela répond à votre question? Comment puis-je lier la clé Entrée à une fonction dans tkinter?


Pour votre conception actuelle, vous devez utiliser une variable globale. Ou vous mettez le code dans une classe et utilisez la variable d'instance à la place.


Pourriez-vous me donner un exemple simple de la façon dont il ressemblerait dans une classe s'il vous plaît? Je n'ai pas utilisé des cours avant (mais seulement si seuls les petites modifications apportées au codé) - si c'est beaucoup de travail, je vais regarder Google. Merci pour ça


Vous avez déjà accepté une solution que je pense n'est pas une solution.


3 Réponses :


0
votes
def function(a,b):
print("a is :",a)
print("b is :",b)


function(10,20)

1 commentaires

Ce n'est pas ce que l'affiche originale signifiait ... Cela signifiait quelque chose dans son code



1
votes

Si j'ai compris comme coricellement, vous êtes intéressé par qc. comme ceci: xxx

Que ce qui se passe est que je ne passe pas un complet sur fonctionner sur un bouton, mais une fonction telle appelée Lambda, qui est essentiellement une fonction-ligne. Exemple: si je faisais p = lambda: impression ('hi') alors chaque fois que je fais p () je verrais un peu hi surgir. De plus, si je faisais k = lambda a, b: a * b alors k (4,5) retournerait "20". Plus d'infos sur LAMBDAS ici . J'espère que c'est utile!


0 commentaires

0
votes

Vous pouvez certainement le faire sans global. Vous pouvez étendre la classe TK.BUTTON pour contenir une variable comme self.status = appuyé sur .

Il y a quelques façons dont vous pouvez y aller avec des cours. Vous pouvez créer une ou deux classes. Peut-être même avoir des classes d'enfants pour chaque bouton.

Mais vous pouvez simplement jeter vos fonctions dans une classe et passer auto comme premier argument.

Chaque fois que je ressens la nécessité d'une variable globale, je fais habituellement une classe.


0 commentaires