%-symbolia käytetään Pythonissa monenlaisissa tietotyypeissä ja kokoonpanoissa. %s käytetään erityisesti merkkijonojen yhdistämiseen. Sen avulla voimme muotoilla arvon merkkijonon sisällä. Sitä käytetään sisällyttämään toinen merkkijono merkkijonoon. Se tarjoaa automaattisesti tyyppimuunnoksen arvosta merkkijonoon.
Operaattori %s asetetaan kohtaan, jossa merkkijono määritellään. Merkkijonoon lisättävien arvojen määrän tulee olla yhtä suuri kuin luku, joka on määritetty suluissa merkkijonoarvon lopussa olevan %-operaattorin jälkeen.
Seuraava Python-koodi havainnollistaa tapaa suorittaa merkkijonomuotoilu.
Yksinkertainen %s käyttö
Python 3
# declaring a string variable> name>=> 'Geek'> # append a string within a string> print>(>'Hey, %s!'> %> name)> |
>
>
Lähtö
Hey, Geek!>
Useita %s
Useita merkkijonoja voidaan myös liittää yhteen merkkijonoon käyttämällä %s-operaattoria. Merkkijonot korvataan niiden sijainnin mukaan suluissa aina, kun on %s-merkki. Tämä on havainnollistettu käyttämällä seuraavaa koodinpätkää:
Python 3
eteenpäin ketjuttaminen
# 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))> |
>
>
Lähtö
Hei Geek! Nautitko siitä, että olet Geeks for Geeksissä valmistautuessasi.
Merkkijonojen yhdistäminen kohteeseen %s
Tämän operaattorin esiintymien lukumäärän on kuitenkin oltava yhtä suuri kuin %-merkin jälkeen korvattavien merkkijonojen lukumäärä. Muussa tapauksessa heitetään virhe, jonka tyyppi on TypeError: ei tarpeeksi argumentteja muotomerkkijonolle.
Python 3
# 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)> |
>
>
Virhe
Traceback (viimeisin puhelu viimeisin):
Tiedosto /home/c7b65fabd2ad00163eba70bbc39685d3.py, rivi 8, sisään
final_str = %s %s %s %s % (str1, str3, str4)
TypeError: ei tarpeeksi argumentteja muotomerkkijonolle
Oikea koodi
Python 3
# 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)> |
>
>
Lähtö
Concatenating multiple strings using Python '%s' operator: Understanding %s at techcodeview.com>
Tilaa %s sanakirjan avulla
Merkkijonot tulostetaan siinä järjestyksessä, missä ne liitetään tulosteen sanakirjaavaimella.
Python 3
# 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)> |
>
>
Lähtö
satunnainen järjestys sql
Concatenating multiple strings using Python '%s' operator: Understanding %s at techcodeview.com>
Listaa muodossa a merkkijono %s
Ei-merkkijono-operaattori voidaan myös muotoilla Pythonissa %s-symbolilla. Tuples voidaan myös lisätä ja muotoilla tällä operaattorilla.
Python 3
# 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)> |
>
>
Lähtö
Concatenating multiple values using Python '%s' operator: Understanding integers at techcodeview.com = [1, 2, 3]>