Was %s in Python bedeutet – Geheimnis gelüftet!

Welcher Film Zu Sehen?
 
  Was %s in Python bedeutet – Geheimnis gelüftet!

%s ist ein Argumentbezeichner und wird zur Formatierung von Zeichenfolgen verwendet. Es entlehnt seine Syntax der C-Sprache. Einfach ausgedrückt, können Sie damit einen Wert in eine Zeichenfolge einfügen.





Der Wert kann eine Zeichenfolge oder ein beliebiges Objekt sein, das in eine Zeichenfolge konvertiert werden kann, z. B. eine Zahl, eine Liste usw.



Alle Zeichenfolgenwerte

Betrachten Sie das folgende Beispiel.



Mut stirbt der feige Hund
name = input("Please insert your name: ")
song = input("What is your favorite song? " )
print("Hello %s! Would you like to listen to %s?" %(name, song))

Im obigen Beispiel nehmen wir den Namen und das Lieblingslied des Benutzers und zeigen eine Nachricht mit diesen Werten an.



Außerdem setzen wir %s als Platzhalter an den Stellen, an denen Sie Werte von Variablen haben möchten.

Ein Tupel, das Werte enthält, folgt dem Formatstring, d. h. %(Name, Lied) . Denken Sie daran, die Werte in derselben Reihenfolge einzufügen, in der Sie sie anzeigen möchten. In diesem Fall ist die Name wird zuerst kommen und dann die Lied .

Eine Beispielausgabe des obigen Beispiels ist unten angegeben.

Please insert your name: ashton
What is your favorite song? Perfect
Hello ashton! Would you like to listen to Perfect?

Wie Sie sehen können, funktioniert dies wie erwartet.

Ein einzelner Wert

Wenn wir nur eine Single haben %s , dann können wir einen Wert ohne Tupel schreiben. Mal schauen.

name = input("Please insert your name: ")
print("Hello %s!" % name)

Ausgabe

Please insert your name: Agar
Hello Agar!

Objekte mit einer Zeichenfolgendarstellung

Wie bereits erwähnt, kann ein Wert ein beliebiges Objekt sein, das in einen String umgewandelt werden kann. Nehmen wir ein Beispiel.

name = "Smith"
score = [70, 80, 90, 100]
print("The score of %s in the last four matches: %s" % (name, score))

x Factor Australien Richter 2014

Ausgabe

The score of Smith in the last four matches: [70, 80, 90, 100]

Wie Sie sehen können, platzieren wir einen String und eine Liste mit dem %s Argumentbezeichner. Es wandelt die Liste automatisch in einen String um.

Nehmen wir das gleiche Beispiel und verwenden den Verkettungsoperator.

name = "Smith"
score = [70, 80, 90, 100]
print("The score of " + name + " in the last four matches " + str(score))

Ausgabe

The score of Smith in the last four matches [70, 80, 90, 100]

Anders als bei %s wandeln wir hier die Liste explizit in einen String um und verwenden + An jedem Ort wollen wir einen Mehrwert schaffen.

TypeError

Darüber hinaus muss die Anzahl der Argumentbezeichner gleich der Anzahl der Werte im Tupel sein. Wenn dies nicht der Fall ist, erhalten Sie eine Fehlermeldung. Mal schauen.

name = input("Please insert your name: ")
song = input("What is your favorite song? " )
print("Hello %s! Would you like to listen to %s?" %(name))

Ausgabe

  Was bedeutet %s in Python

Was bedeutet %s in Python

Wie Sie in der obigen Ausgabe sehen können, wirft das Programm a TypeError .

Zuordnungsschlüssel

Anstatt sich die Reihenfolge zu merken, in der Sie Werte einfügen möchten, können Sie a übergeben Zuordnungsschlüssel zu %s . Betrachten Sie das folgende Beispiel, um dieses Konzept zu verstehen.

Alyssa Valdez und Kiefer Ravena
name = "Ashton Agar"
age  = 20
print("My name is %(name)s and my age is %(age)s." %{"age":age, "name":name})

Ausgabe

My name is Ashton Agar and my age is 20.

Im obigen Beispiel übergeben wir ein Wörterbuch, das (Schlüssel, Wert)-Paare anstelle eines Tupels enthält. Außerdem wird der Schlüssel zwischen den platziert % und s , die später durch ihren Wert ersetzt wird. Daher müssen wir uns die Reihenfolge nicht merken.

%s ist eine alte Methode zur Formatierung von Zeichenketten. Bessere Techniken wie z Format() und f-Saiten wurden eingeführt, die einfacher zu bedienen sind und mehr Funktionalitäten bieten.