Was ist der Unterschied zwischen% i und% d in Python? [Duplikat]

9

OK Ich habe die Zahlenformatierung untersucht und festgestellt, dass Sie % d oder % i verwenden können, um eine Ganzzahl zu formatieren. Zum Beispiel:

%Vor%

oder

%Vor%

Aber was ist der Unterschied? Ich meine, ich habe etwas gefunden, aber es war total jibberish. Jeder spricht hier Mild-Code oder Englisch?

    
Martijn Pieters 16.07.2013, 15:04
quelle

3 Antworten

17

Python hat die C-Formatierungsanweisungen kopiert.

Für Ausgabe sind %i und %d exakt dasselbe, sowohl in Python als auch in C.

Der Unterschied liegt in dem, was diese tun, wenn Sie sie verwenden, um Eingabe in C zu analysieren, indem Sie die Funktion scanf() verwenden. Siehe Unterschied zwischen Formatbezeichnern% i und% d in printf .

Python hat kein scanf -Äquivalent, aber die Python-String-Formatierungsoperationen behielten die beiden Optionen bei, um mit C kompatibel zu bleiben.

Die neue str.format() und format() Formatspezifikation-Minisprache hat die Unterstützung für i und nur mit d verbunden.

    
Martijn Pieters 16.07.2013, 15:15
quelle
2

Es gibt keine, siehe das Python-String-Formatierungshandbuch: Ссылка

    
Sven 16.07.2013 15:08
quelle
1

Kein Unterschied.

Und hier ist der Beweis.

Der Grund, warum es zwei gibt, ist, dass% i nur eine Alternative zu% d ist, wenn Sie es auf einer hohen Ebene betrachten wollen (aus Python-Sicht).

Was python.org über% i: Signed integer decimal.

zu sagen hat

Und% d: Signed integer decimal.

% d steht für Dezimal und% i für Ganzzahl.

aber beide sind gleich, Sie können beide verwenden.

    
tenstar 16.07.2013 15:14
quelle