%s est un spécificateur d'argument et est utilisé pour le formatage de chaîne. Il emprunte sa syntaxe au langage C. En termes simples, il vous permet d'ajouter une valeur à l'intérieur d'une chaîne.
La valeur peut être une chaîne ou tout objet pouvant être converti en chaîne, par exemple un nombre, une liste, etc.
Toutes les valeurs de chaîne
Prenons l'exemple suivant.
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))
Dans l'exemple ci-dessus, nous prenons le nom et la chanson préférée de l'utilisateur et affichons un message en utilisant ces valeurs.
De plus, nous posons %s comme espace réservé aux endroits où vous voulez des valeurs de variables.
Un tuple contenant des valeurs suit la chaîne de format, c'est-à-dire, %(nom, chanson) . N'oubliez pas d'insérer les valeurs dans le même ordre que vous souhaitez les afficher. Dans ce cas, le Nom viendra en premier, puis le chanson .
Un exemple de sortie de l'exemple ci-dessus est donné ci-dessous.
Please insert your name: ashton What is your favorite song? Perfect Hello ashton! Would you like to listen to Perfect?
Comme vous pouvez le voir, cela fonctionne comme prévu.
Une seule valeur
Si nous n'avons qu'un seul %s , alors nous pouvons écrire une valeur sans tuple. Voyons voir.
name = input("Please insert your name: ") print("Hello %s!" % name)
Production
Please insert your name: Agar Hello Agar!
Objets avec une représentation sous forme de chaîne
Comme déjà mentionné, une valeur peut être n'importe quel objet pouvant être converti en chaîne. Prenons un exemple.
ramon tulfo enquêteur quotidien philippin
name = "Smith" score = [70, 80, 90, 100] print("The score of %s in the last four matches: %s" % (name, score))
Production
The score of Smith in the last four matches: [70, 80, 90, 100]
Comme vous pouvez le constater, nous plaçons une chaîne et une liste en utilisant le %s spécificateur d'argument. Il convertit automatiquement la liste en chaîne.
Prenons le même exemple et faisons-le en utilisant l'opérateur de concaténation.
name = "Smith" score = [70, 80, 90, 100] print("The score of " + name + " in the last four matches " + str(score))
Production
The score of Smith in the last four matches [70, 80, 90, 100]
Ici, contrairement à %s, nous convertissons explicitement la liste en chaîne et utilisons + à chaque endroit où nous voulons ajouter une valeur.
Erreur-type
De plus, le nombre de spécificateurs d'argument doit être le même que le nombre de valeurs dans le tuple. S'ils ne le sont pas, vous obtiendrez une erreur. Voyons voir.
name = input("Please insert your name: ") song = input("What is your favorite song? " ) print("Hello %s! Would you like to listen to %s?" %(name))
Production
Comme vous pouvez le voir dans la sortie ci-dessus, le programme lance un Erreur-type .
Clé de mappage
Au lieu de mémoriser l'ordre dans lequel vous souhaitez insérer les valeurs, vous pouvez passer un clé de mappage à %s . Considérez l'exemple suivant pour comprendre ce concept.
name = "Ashton Agar" age = 20 print("My name is %(name)s and my age is %(age)s." %{"age":age, "name":name})
Production
My name is Ashton Agar and my age is 20.
Dans l'exemple ci-dessus, nous passons un dictionnaire contenant des paires (clé, valeur) au lieu d'un tuple. De plus, la clé est placée entre les % et s , qui est remplacé par sa valeur plus tard. Par conséquent, nous n'avons pas besoin de nous souvenir de la commande.
%s est une ancienne méthode de formatage des chaînes. De meilleures techniques telles que format() et cordes f ont été introduits qui sont plus faciles à utiliser et offrent plus de fonctionnalités.