Gibt es etwas los, wenn Zeichenfolge Formatierung, die die Modul-Funktion verwendet beim Aufruf entwederString Formatierung mit Modul/Prozentzeichen
StringOperand % TupleOperand
oder
StringOperand % DictionaryOperand
Oder ist es nur eine willkürliche Verwendung von% für die String-Formatierungsfunktion?
Ich vermute, dass die Zeichenfolge Formatierung Bediener nicht ein Aufruf an modularer Arithmetik wie die folgende ist:
tuple = (1,2,3)
print '%d %d %d'%tuple
Druck: 1 2 3, aber
print '%d %d %d %d'%tuple
kehrt Typeerror: nicht genug Argumente für das Format str
Dies wird * Operator Überladung * genannt und ist in Python üblich. Eine Klasse kann einen Operator implementieren, indem sie eine spezielle Methode implementiert, in diesem Fall '__mod __()'. Probieren Sie zum Beispiel "print" hallo "* 3". Siehe auch https://docs.python.org/2/library/operator.html – cdarke