2016-04-05 20 views
0

gegeben: name = 'Fred'Optionen, wenn Strings Formatierung

1) print 'My name is', name, '.'

2) print 'My name is ' + str(name) + '.'

3) print 'My name is %s.' % name

Gibt es andere Mittel der Text setzen Strings zusammen?

Gibt es einen Weg mit Option 1, um den Abstand "" Padding zu entfernen?

Sind irgendwelche dieser Methoden effizientere Verwendungen von Prozessoren oder Speicher?

Antwort

4

würde ich eine vierte Option vorschlagen:

print 'My name is {}.'.format(name) 

Die str.format Methode kann als die ältere % Stil Formatierung Syntax so ziemlich die gleichen Dinge tun, aber es ist ein bisschen schöner im Allgemeinen und vermeidet die meisten der % Formatierungssyntax das schlechte Verhalten in einigen obskuren Eckfällen.

Zu Ihrer anderen Frage zu Option 1 gibt es keine Möglichkeit, Leerzeichen zwischen Elementen in einer Python 2-Druckanweisung zu vermeiden. Sie könnten es vielleicht mit mehreren Anweisungen arbeiten lassen, aber es wäre hässlich.

Wenn Sie jedoch die Python 3 Druckfunktion stattdessen verwenden (die in Python 2.6+ verfügbar ist, wenn Sie from __future__ import print_function am Anfang der Datei setzen), könnten Sie tun:

print('My name is ', name, '.', sep="") 

, dass eine explizite verwendet Leerzeichen in der ersten Zeichenfolge und weist print an, keine eigenen Trennzeichen zwischen Elementen mit sep="" hinzuzufügen.

Ich denke String Formatierung mit format wird fast immer schöner sein.