Vous n'obtenez pas d'erreur: vous obtenez exactement ce que vous demandez - le modèle lui-même. Pour obtenir le résultat souhaité,
print s.substitute(x='lee')
modèles, comme les chaînes, sont pas objets mutables: une méthode que vous appelez sur un modèle (ou chaîne) ne peut jamais modifier ce modèle - il ne peut produire un résultat séparé que vous pouvez utiliser. Ceci, bien sûr, s'applique à la méthode .substitute
. Vous l'appelez, mais en ignorant le résultat, puis en imprimant le modèle, vous vous attendez sans doute à ce que le modèle lui-même soit modifié, mais ce n'est pas comme ça que ça fonctionne.