Mot-clé Pass arguments à la fonction cible en Python threading.Fil
Je veux passer des arguments nommés à la fonction cible, tout en créant un objet Thread.
Voici le code que j'ai écrit:
import threading
def f(x=None, y=None):
print x,y
t = threading.Thread(target=f, args=(x=1,y=2,))
t.start()
J'obtiens une erreur de syntaxe pour "x=1", à la Ligne 6.
Je veux savoir comment je peux passer des mots clés les arguments de la fonction cible.
- Avez-vous lu la documentation?
- Vous n'avez pas besoin de spécifier les noms des arguments, vous pouvez utiliser un simple tuple:
t = threading.Thread(target=f, args=(1,2,))
Vous devez vous connecter pour publier un commentaire.
cela va passer un dictionnaire avec le mot-clé arguments noms que les clés et les valeurs d'argument que les valeurs dans le dictionnaire.
l'autre réponse ci-dessus ne fonctionne pas, parce que le "x" et "y" ne sont pas définis dans le champ d'application.
un autre exemple, cette fois avec le traitement multiple, passant à la fois la position et les arguments mots-clefs:
la fonction utilisée étant:
et puis quand on l'appelle à l'aide de multitraitement:
Vous pouvez également passer un dictionnaire tout droit jusqu'à kwargs:
Essayer de remplacer
args
aveckwargs={x: 1, y: 2}
.{'x': 1, 'y': 2}
, qui est une énorme différence.