Y at-il quelque chose qui se passe lorsque le formatage de chaîne qui utilise la fonction de module tout en appelant soitformatage de chaînes avec le signe module/pour cent
StringOperand % TupleOperand
ou
StringOperand % DictionaryOperand
Ou est-ce juste une utilisation arbitraire de% pour la fonction de formatage de chaîne?
Je suppose que l'opérateur de mise en forme de chaîne n'est pas un appel à l'arithmétique modulaire les suivantes:
tuple = (1,2,3)
print '%d %d %d'%tuple
impressions: 1 2 3, mais
print '%d %d %d %d'%tuple
retours TypeError: pas assez arguments pour le format str
Ceci est appelé * surcharge d'opérateur * et est commun en python. Une classe peut implémenter un opérateur pour signifier tout ce qu'il aime en implémentant une méthode spéciale, dans ce cas '__mod __()'. Par exemple, essayez 'print 'bonjour" * 3'. Voir aussi https://docs.python.org/2/library/operator.html – cdarke