Monikko on merkkijonon lisäksi toinen Pythonissa käytettävä kokoelma eli useita alkioita sisältävä muuttuja tyyppi. Merkkijonon alkiot ovat yksittäisiä merkkejä, mutta monikon alkioina voi numeerisia arvoja, totuusarvoja sekä toisia kokoelmia kuten merkkijonoja ja toisia monikkoja.
 
Monikko literaalissa alkiot erotellaan toisistaan pilkulla sulkumerkkien sisään. Sulkumerkit eivät aina ole pakollisia, mutta selvyyden vuoksi ne kannattaa laittaa. Monikolle toimivat samat operaattorit kuin merkkijonolle.

>>> (23, 67) + (11, -90, 23)
(23, 67, 11, -90, 23)
>>> (7, "abc") * 3
(7, 'abc', 7, 'abc', 7, 'abc')
>>> (23, True, 9.0, 1, 2)[3]
1
>>> (23, True, 9.0, 1, 2)[1:3]
(True, 9.0)
>>> 6 in (4, 89, (6, "www"), False)
False
>>> (6, "www") in (4, 89, (6, "www"), False)
True
>>> len((23, 67, True, False, "123", 90))
6
>>>

Monikolla on funktio tuple muunnoksia varten, mutta se ottaa parametriksi vain kokoelmia kuten merkkijonon; merkkijono muuntuu monikoksi, joka sisältää yksittäiset merkit uuden monikon alkioina. Funktio str taas muuntaa monikon vain sen teksti esitykseen.

>>> tuple("abcdefg")
('a', 'b', 'c', 'd', 'e', 'f', 'g')
>>> str((233, "ww", 78))
"(233, 'ww', 78)"

Merkkijonolla on useita hyödyllisiä metodeja merkkijonojen tuottamiseen ja muokkaamiseen. Tarkka listaus on tietysti löydettävissä Pythonin kotisivuilta, mutta tässä on muutamia esimerkkejä.
 
Jäsenfunktiot lower ja upper palauttavat merkkijonon, jossa kirjainten kokoa on muutettu - pieniksi tai isoiksi. Metodi replace ottaa kaksi parametria, joista ensimmäinen kertoo korvattavan ja toinen korvaavan merkkijonon osan. Uusi merkkijono voidaan luoda join metodilla, joka ottaa parametriksi merkkijonoja sisältävän kokoelman, jonka alkiot yhdistetään teksti esityksessä käyttäen erotettuna sillä merkkijonolla, jonka metodia käytettiin.

>>> "muunto isoihin kirjaimiin".upper()
'MUUNTO ISOIHIN KIRJAIMIIN'
>>> "MUUNTO PIENIIN KIRJAIMIIN".lower()
'muunto pieniin kirjaimiin'
>>> "korvataan a kirjaimet".replace('a', 'ä')
'korvätään ä kirjäimet'
>>> " -> ".join(("C", "C++", "?"))
'C -> C++ -> ?'
>>>
  • No labels
You must log in to comment.