Het %-symbool wordt in Python gebruikt met een grote verscheidenheid aan gegevenstypen en configuraties. %s wordt specifiek gebruikt om aaneenschakeling van tekenreeksen uit te voeren. Hiermee kunnen we een waarde binnen een string opmaken. Het wordt gebruikt om een andere string in een string op te nemen. Het biedt automatisch typeconversie van waarde naar tekenreeks.
De %s operator wordt geplaatst waar de string moet worden gespecificeerd. Het aantal waarden dat u aan een tekenreeks wilt toevoegen, moet gelijk zijn aan het aantal dat tussen haakjes is opgegeven na de operator % aan het einde van de tekenreekswaarde.
De volgende Python-code illustreert de manier waarop tekenreeksopmaak wordt uitgevoerd.
Eenvoudig gebruik van %s
Python3
# declaring a string variable> name>=> 'Geek'> # append a string within a string> print>(>'Hey, %s!'> %> name)> |
>
>
Uitvoer
Hey, Geek!>
Meerdere %s
Er kunnen ook meerdere tekenreeksen aan een enkele tekenreeks worden toegevoegd met behulp van de %s-operator. De strings worden vervangen in de volgorde van hun positie tussen de haakjes, overal waar een %s-teken staat. Dit wordt geïllustreerd met behulp van het volgende codefragment:
Python3
# declaring a string variable> var1>=> 'Geek!'> var2>=> 'Geeks for Geeks'> # append multiple strings within a string> print>(>'Hello %s Are you enjoying being at %s for preparations.'> %> (var1, var2))> |
>
>
Uitvoer
Hallo Geek! Ben jij met veel plezier bij Geeks for Geeks voor de voorbereidingen.
Tekenreeksen toewijzen aan %s
Het aantal keren dat deze operator voorkomt, moet echter gelijk zijn aan het aantal tekenreeksen dat moet worden vervangen na het %-teken. Anders wordt er een fout van het type TypeError: niet genoeg argumenten voor de formatstring gegenereerd.
Python3
# declaring string variables> str1>=> 'Understanding'> str2>=> '%s'> str3>=> 'at'> str4>=> 'techcodeview.com'> # concatenating strings but %s not equal to string variables> final_str>=> '%s %s %s %s'> %> (str1, str3, str4)> # printing the final string> print>(>'Concatenating multiple strings using Python '%s' operator:
'>)> print>(final_str)> |
>
>
Fout
Hertraceren (meest recente oproep als laatste)
Bestand /home/c7b65fabd2ad00163eba70bbc39685d3.py, regel 8, in
definitieve_str = %s %s %s %s % (str1, str3, str4)
TypeError: niet genoeg argumenten voor formatstring
Correcte code
Python3
# declaring string variables> str1>=> 'Understanding'> str2>=> '%s'> str3>=> 'at'> str4>=> 'techcodeview.com'> # concatenating strings> final_str>=> '%s %s %s %s'> %> (str1, str2, str3, str4)> # printing the final string> print>(>'Concatenating multiple strings using Python '%s' operator:
'>)> print>(final_str)> |
>
>
Uitvoer
Concatenating multiple strings using Python '%s' operator: Understanding %s at techcodeview.com>
Bestel %s met woordenboek
De tekenreeksen worden afgedrukt in de volgorde waarin ze worden toegevoegd met behulp van de woordenboeksleutel in de uitvoer.
Python3
# declaring string variables with dictionary> dct>=> {>'str1'>:>'at'>,> >'str2'>:>'techcodeview.com'>,> >'str3'>:>'Understanding'>,> >'str4'>:>'%s'>}> # concatenating strings> final_str>=> '%(str3)s %(str4)s %(str1)s %(str2)s'> %> dct> # printing the final string> print>(>'Concatenating multiple strings using Python '%s' operator:
'>)> print>(final_str)> |
>
>
Uitvoer
Concatenating multiple strings using Python '%s' operator: Understanding %s at techcodeview.com>
Lijst als een tekenreeks voor %s
Een niet-stringoperator kan ook worden geformatteerd met het %s-symbool in Python. Tuples kunnen met deze operator ook zowel worden ingevoegd als geformatteerd.
Python3
# declaring string variables> str1>=> 'Understanding'> str2>=> 'integers'> str3>=> 'at'> str4>=> 'techcodeview.com = '> # declaring list variables> lst>=> [>1>,>2>,>3>]> # concatenating strings as well as list> final_str>=> '%s %s %s %s %s'> %> (str1, str2, str3, str4, lst)> # printing the final string> print>(>'Concatenating multiple values using Python '%s' operator:
'>)> print>(final_str)> |
>
>
numpy betekent
Uitvoer
Concatenating multiple values using Python '%s' operator: Understanding integers at techcodeview.com = [1, 2, 3]>