Le code Python 2 donné tente de définir une fonction avec des arguments imbriqués, mais cette syntaxe n'est plus prise en charge dans Python 3.
L'erreur rencontrée est :
SyntaxError: invalid syntax
Le problème spécifique est dans la définition de la fonction d'ajout :
def add(self, (sub, pred, obj)):
Dans Python 2, il était possible d'utiliser des tuples imbriqués comme arguments des fonctions, la fonction divisant le tuple lors du déballage des paramètres. Cependant, dans Python 3, les arguments de décompression du tuple ont été supprimés.
Pour résoudre ce problème, vous devez décompresser manuellement le tuple dans la définition de la fonction. Cela peut être fait en attribuant explicitement chaque élément à des variables distinctes :
def add(self, sub_pred_obj): sub, pred, obj = sub_pred_obj
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!